你可以在 属性文件中配置 Presto Pulsar 连接器。 连接器和默认值的配置如下。
你可以通过多个主机连接 Presto 到 Pulsar 集群。 要为 broker 配置多个主机, 添加多个 URL 到 pulsar.broker-service-url
。 要为 ZooKeeper 配置多个主机, 添加多个 URI 到 pulsar.zookeeper-uri
。 The following is an example.
pulsar.broker-service-url=http://localhost:8080,localhost:8081,localhost:8082
pulsar.zookeeper-uri=localhost1,localhost2:2181
If you already have a Presto cluster, you can copy the Presto Pulsar connector plugin to your existing cluster. Download the archived plugin package with the following command.
$ wget https://archive.apache.org/dist/pulsar/pulsar-2.6.1/apache-pulsar-2.6.1-bin.tar.gz
Since Pulsar SQL is powered by Presto, the configuration 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
--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
The default configuration for the cluster is located in ${project.root}/conf/presto
. You can customize your deployment by modifying the default configuration.
你可以设置该工作器从不同的配置目录读取,或者设置不同的目录来写入数据。
你可以作为守护进程开始工作者。
$ ./bin sql-worker start
- 复制 Pulsar 二进制文件并分布到三个节点。
The first node runs as Presto coordinator. The minimal configuration requirement in the ${project.root}/conf/presto/config.properties
file is as follows.
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=50GB
discovery-server.enabled=true
discovery.uri=<coordinator-url>
另两个节点作为 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
andpulsar.zoocheeper-uri
配置在${project.root}/conf/presto/catalog/pulsar.properties
相应地为三个节点配置文件。启动 Coordinator 节点。
- 启动 worker 节点。
$ ./bin/pulsar sql-worker run
- 启动 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
2 | http://192.168.2.3:8081 | testversion | false | active