集群说明
Pulsar集群至少需要3个组件,zookeeper集群、broker集群、bookkeeper集群 zookeeper集群:由3个节点组成 broker集群:由3个节点组成,已包含在pulsar安装包中 bookeeper集群:bookie集群,由3个节点组成,已包含在pulsar安装包中
环境
角色 | IP |
---|---|
zookeeper01 bookie broker | 192.168.1.160 |
zookeeper02 bookie broker | 192.168.1.162 |
zookeeper03 bookie broker | 192.168.1.166 |
安装JDK
在三个节点上安装JDK,安装过程略
部署zookeeper集群
zookeeper集群部署参考
部署pulsar集群
初始化集群元数据
只需要在一个pulsar节点上执行
代码语言:javascript复制bin/pulsar initialize-cluster-metadata
--cluster pulsar-cluster
--zookeeper 192.168.1.160:2181
--configuration-store 192.168.1.160:2181
--web-service-url http://192.168.1.160:8080,192.168.1.162:8080,192.168.1.166:8080
# --web-service-url-tls https://192.168.1.160:8443
--broker-service-url pulsar://192.168.1.160:6650,192.168.1.162:6650,192.168.1.166:6650
# --broker-service-url-tls pulsar ssl://192.168.1.160:6651
部署bookie集群
修改配置文件
三个节点都修改以下配置,修改成对应的IP
代码语言:javascript复制vim conf/bookkeeper.conf
advertisedAddress=192.168.1.160
journalDirectories=/data/bookies/journal
ledgerDirectories=/data/bookies/ledger
zkServers=192.168.1.160:2181,192.168.1.160:2181,192.168.1.160:2181
初始化
只需要在一个节点上执行下面的命令
代码语言:javascript复制bin/bookkeeper shell metaformat
启动bookie
三个节点都要启动
代码语言:javascript复制bin/pulsar-daemon start bookie
验证是否启动成功
三台都检测下是否启动成功
代码语言:javascript复制bin/bookkeeper shell bookiesanity
Bookie sanity test succeeded # 最后一行输出该,表示启动成功
部署broker
修改配置文件
三个节点都要配置以下内容,修改成对应的IP
代码语言:javascript复制vim conf/broker.conf
zookeeperServers=192.168.1.160:2181,192.168.1.162:2181,192.168.1.166:2181
configurationStoreServers=192.168.1.160:2181,192.168.1.162:2181,192.168.1.166:2181
brokerServicePort=6650
brokerServicePortTls=6651
webServicePort=8080
webServicePortTls=8443
advertisedAddress=192.168.1.160
clusterName=pulsar-cluster
functionsWorkerEnabled=true
代码语言:javascript复制vim conf/functions_worker.yml
pulsarFunctionsCluster: pulsar-cluster # 修改成初始化时集群的名字
代码语言:javascript复制vim conf/client.conf
webServiceUrl=http://192.168.1.160:8080/ # 修改成本机的IP
# brokerServiceUrl=pulsar://192.168.1.160:6650/
brokerServiceUrl=pulsar://192.168.1.160:6650,192.168.1.162:6650,192.168.1.166:6650
启动broker
所有节点都启动
代码语言:javascript复制bin/pulsar-daemon start broker
查看broker节点情况
代码语言:javascript复制bin/pulsar-admin brokers list pulsar-cluster
常用命令
更新集群配置
代码语言:javascript复制bin/pulsar-admin clusters update pulsar-cluster --url http://192.168.1.160:8080,192.168.1.162:8080,192.168.1.166:8080 --broker-url pulsar://192.168.1.160:6650,192.168.1.162:6650,192.168.1.166:6650
删除集群
代码语言:javascript复制bin/pulsar-admin clusters delete pulsar-cluster
获取集群配置
代码语言:javascript复制bin/pulsar-admin clusters get pulsar-cluster
获取实例中的所有集群
代码语言:javascript复制bin/pulsar-admin clusters list
租户相关命令
查看有哪些租户
代码语言:javascript复制bin/pulsar-admin tenants list
创建租户
代码语言:javascript复制bin/pulsar-admin tenants create my-tenant
删除租户
代码语言:javascript复制bin/pulsar-admin tenants delete my-tenant
命名空间
查看指定租户下的命名空间
代码语言:javascript复制bin/pulsar-admin namespaces list capital
创建指定租户命名空间
代码语言:javascript复制bin/pulsar-admin namespaces create test-tenant/test-namespace
删除指定租户命名空间
代码语言:javascript复制bin/pulsar-admin namespaces delete test-tenant/test-namespace
查看topic
代码语言:javascript复制bin/pulsar-admin topics list capital/vota