Below is a list configurations for the Presto Pulsar connector and instruction on how to deploy a cluster.
Presto Pulsar 连接器配置
Presto Pulsar连接器有几种配置。可以在以下位置找到包含这些配置的属性文件 ${project.root}/conf/presto/catalog/pulsar.properties
. 连接器的配置及其默认值如下所述。
# 要在catalog中显示的连接器的名称
connector.name=pulsar
#Pulsar broker 服务URL
pulsar.broker-service-url=http://localhost:8080
# Zookeeper 集群URI
pulsar.zookeeper-uri=localhost:2181
# 一次读取的最小条目数
pulsar.entry-read-batch-size=100
# 每个查询使用的默认拆分数
pulsar.target-num-splits=4
在已有的Presto 集群上查询Pulsar
如果已经有了一个Presto集群, 你可以将Presto Pulsar连接器插件复制到现有的群集上。 你可以通过以下方式下载插件包:
$ wget https://archive.apache.org/dist/pulsar/pulsar-2.6.1/apache-pulsar-2.6.1-bin.tar.gz
部署新群集
请注意, 入门 指南展示了如何快速部署单节点环境进行实验。
Pulsar SQL is powered by Presto thus many of the configurations for deployment is the same for the Pulsar SQL worker.
你可以使用相同的CLI参数给Presto 启动器:
$ ./bin/pulsar sql-worker --help
Usage: launcher [options] command
Commands: run, start, stop, restart, kill, status
Options:
-h, --help show this help message and exit
-v, --verbose Run verbosely
--etc-dir=DIR Defaults to INSTALL_PATH/etc
--launcher-config=FILE
Defaults to INSTALL_PATH/bin/launcher.properties
--node-config=FILE Defaults to ETC_DIR/node.properties
--jvm-config=FILE Defaults to ETC_DIR/jvm.config
--config=FILE Defaults to ETC_DIR/config.properties
--log-levels-file=FILE
Defaults to ETC_DIR/log.properties
--data-dir=DIR Defaults to INSTALL_PATH
--pid-file=FILE Defaults to DATA_DIR/var/run/launcher.pid
--launcher-log-file=FILE
Defaults to DATA_DIR/var/log/launcher.log (only in
daemon mode)
--server-log-file=FILE
Defaults to DATA_DIR/var/log/server.log (only in
daemon mode)
-D NAME=VALUE Set a Java system property
集群中有一组默认配置 ${project.root}/conf/presto
默认情况下将使用该选项。 你可以更改它们以自定义部署
您还可以将worker设置为从其他配置目录中读取,并设置其他目录为写入数据:
$ ./bin/pulsar sql-worker run --etc-dir /tmp/incubator-pulsar/conf/presto --data-dir /tmp/presto-1
您还可以将worker作为守护进程启动:
$ ./bin sql-worker start
部署3个节点的集群
例如,如果你想在3个节点上部署Pulsar SQL / Presto集群,你可以执行以下操作:
首先,将Pulsar二进制文件复制到三个节点。
第一个节点将运行Presto协调器。 最小配置 ${project.root}/conf/presto/config.properties
可以是以下内容
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=<coordinator-url>
另外,修改 pulsar.broker-service-url
and pulsar.zookeeper-uri
配置在 ${project.root}/conf/presto/catalog/pulsar.properties
相应地在那些节点上
之后,你可以通过运行下面命令启动协调器
$ ./bin/pulsar sql-worker run
对于仅用于worker节点的其他两个节点,配置可以如下:
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery.uri=<coordinator-url>
另外,修改 pulsar.broker-service-url
and pulsar.zookeeper-uri
配置在 ${project.root}/conf/presto/catalog/pulsar.properties
于是
您也可以通过运行下面的命令来启动worker:
$ ./bin/pulsar sql-worker run
你可以用SQL CLI检查集群状态。启动SQL CLI:
$ ./bin/pulsar sql --server <coordinate_url>
然后,你可以运行以下命令来检查节点的状态:
presto> SELECT * FROM system.runtime.nodes;
node_id | http_uri | node_version | coordinator | state
---------+-------------------------+--------------+-------------+--------
1 | http://192.168.2.1:8081 | testversion | true | active
3 | http://192.168.2.2:8081 | testversion | false | active
2 | http://192.168.2.3:8081 | testversion | false | active
有关Presto部署的更多信息,请参阅: