1 準(zhǔn)備工作
操作系統(tǒng):macOs
運(yùn)行環(huán)境:java8
2 集群組成
zk集群(3個(gè)節(jié)點(diǎn))
bk集群(3個(gè)節(jié)點(diǎn))
pulsar集群(3個(gè)節(jié)點(diǎn))
3 搭建過程
3.1 zk集群搭建
zk版本:3.4.12
- 1 下載并解壓zk
-
2 將解壓好的zookeeper文件夾復(fù)制3份分別命名為zookeeper1,zookeeper2,zookeeper3
image.png -
3 以其中一個(gè)節(jié)點(diǎn)為例進(jìn)行配置
(3.1)新建兩個(gè)目錄分別使data、log(本文建在/opt目錄下)
image.png
(3.2) data和log目錄下各建三個(gè)子目錄(zk1、zk2、zk3)
image.png
(3.3) 將conf目錄下的zoo_sample.cfg文件重命名為zoo.cfg
修改如下5個(gè)參數(shù)
dataDir
dataLogDir
clientPort
admin.enableServer
admin.serverPort
添加如下集群節(jié)點(diǎn)信息
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
在一臺(tái)服務(wù)器上,部署多個(gè)實(shí)例,需要指定不同的端口號(hào)。
[1]clientPort: 3個(gè)zk節(jié)點(diǎn)中分別配置為:2181,2182,2183
[2]admin.enableServer:3個(gè)zk節(jié)點(diǎn)中都配置為 true
[3]admin.serverPort:3個(gè)zk節(jié)點(diǎn)中分別配置為:9181,9182,9183
[4]集群節(jié)點(diǎn)信息:3個(gè)zk節(jié)點(diǎn)中都配置為:
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
(3.4) 在zookeeper1/data/目錄下創(chuàng)建名字為myid文件。
向myid文件中寫入內(nèi)容 1
myid文件內(nèi)容,3個(gè)zk節(jié)點(diǎn)中分別為1,2,3
(3.5) 修改完三個(gè)節(jié)點(diǎn)后分別啟動(dòng)三個(gè)節(jié)點(diǎn)
./bin/zkServer.sh start zk啟動(dòng)命令
(3.6) 用zk客戶端命令(./bin/zkCli.sh -timeout 5000 -server 127.0.0.1:2181)連接zk節(jié)點(diǎn),連接zookeeper1。
(3.6) 寫入pulsar元數(shù)據(jù)配置
create /cluster pulsar-cluster
create /zookeeper 127.0.0.1:2181
create /configuration-store 127.0.0.1:2181
create /web-service-url http://pulsar.cluster.com:8080
create /web-service-url-tls https://pulsar.cluster.com:8443
create /broker-service-url pulsar://pulsar.cluster.com:6650
create /broker-service-url-tls pulsar+ssl://pulsar.cluster.com:6651
--cluster
集群名稱
--zookeeper
ZooKeeper集群連接參數(shù),僅需要包含集群中的一個(gè)節(jié)點(diǎn)即可
--configuration-store
Pulsar實(shí)例的配置存儲(chǔ)集群(ZooKeeper),和-zookeeper參數(shù)一樣只需要包含集群中的一個(gè)節(jié)點(diǎn)即可
--web-service-url
集群Web服務(wù)的URL+端口,URL必須是一個(gè)i標(biāo)準(zhǔn)的DNS名稱,默認(rèn)端口8080,不建議修改。
--web-service-url-tls
集群Web提供TLS服務(wù)的URL+端口,端口默認(rèn)8443,不建議修改。
--broker-service-url
集群brokers服務(wù)URL,URL中DNS的名稱和Web服務(wù)保持一致,URL使用pulsar替代http/http,端口默認(rèn)6650,不建議修改。
--broker-service-url-tls
集群brokers提供TLS服務(wù)的URL,默認(rèn)端口6551,不建議修改。
3.2 bk集群搭建
bk版本:4.9.2
- 1 下載并解壓bk
-
2 將解壓好的bk文件夾復(fù)制3份分別命名為bk1、bk2、bk3
image.png - 3 以其中一個(gè)節(jié)點(diǎn)為例進(jìn)行配置
(3.1)修改 bk_server.conf 文件內(nèi)容
修改如下5個(gè)參數(shù)
bookiePort
httpServerPort
storageserver.grpc.port
journalDirectories
ledgerDirectories
添加如下zk集群節(jié)點(diǎn)信息
zkServers=localhost:2181,localhost:2182,localhost:2183
在一臺(tái)服務(wù)器上,部署多個(gè)實(shí)例,需要指定不同的端口號(hào)。
[1]bookiePort: 3個(gè)bookie節(jié)點(diǎn)中分別配置為:3181,3182,3183
[2]httpServerPort: 3個(gè)bookie節(jié)點(diǎn)中都配置為:8050,8060,8070
[3]storageserver.grpc.port: 3個(gè)bookie節(jié)點(diǎn)中都配置為: 4181,4182,4183
[4]zk集群節(jié)點(diǎn)信息:3個(gè)bookie中都配置為:
zkServers=localhost:2181,localhost:2182,localhost:2183
(3.2) 執(zhí)行初始化集群元數(shù)據(jù)命令(在一個(gè)bookie上執(zhí)行即可),命令如下。
./bin/bookkeeper shell metaformat
(3.3) 3個(gè)bookie下,分別執(zhí)行命令啟動(dòng)bookie,命令如下
./bin/bookkeeper bookie
./bin/bookkeeper shell bookiesanity 檢查是否啟動(dòng)成功
3.3 pulsar集群搭建
版本:2.5.2
- 1 下載并解壓pulsar
-
2 將解壓好的pulsar文件夾復(fù)制3份分別命名為pulsar1、pulsar2、pulsar3
image.png - 以其中一個(gè)節(jié)點(diǎn)為例進(jìn)行配置
(3.1)修改broker.conf文件內(nèi)容
修改如下4個(gè)參數(shù)
brokerServicePort
brokerServicePortTls
webServicePort
webServicePortTls
添加如下zk集群節(jié)點(diǎn)信息
zookeeperServers=localhost:2181,localhost:2182,localhost:2183
configurationStoreServers=localhost:2181,localhost:2182,localhost:2183
在一臺(tái)服務(wù)器上,部署多個(gè)實(shí)例,需要指定不同的端口號(hào)。
[1]brokerServicePort: 3個(gè)broker節(jié)點(diǎn)中分別配置為:6650,6660,6670
[2]brokerServicePortTls: 3個(gè)broker節(jié)點(diǎn)中分別配置為:6651,6661,6671
[3]webServicePort: 3個(gè)broker節(jié)點(diǎn)中分別配置為:8080,8081,8082
[4]webServicePortTls: 3個(gè)broker節(jié)點(diǎn)中分別配置為:8443,8444,8445
[5]zk集群節(jié)點(diǎn)信息:3個(gè)broker中都配置為:
zookeeperServers=localhost:2181,localhost:2182,localhost:2183
configurationStoreServers=localhost:2181,localhost:2182,localhost:2183
(3.2) 在3個(gè)broker下分別執(zhí)行啟動(dòng)命令
./bin/pulsar broker
到這里集群搭建完成
4 pulsar配置
創(chuàng)建集群(集群名:pulsar-cluster)
./bin/pulsar-admin clusters create --url http://pulsar.cluster.com:8080 pulsar-cluster
創(chuàng)建租戶(租戶名:my-tenant)
./bin/pulsar-admin tenants create my-tenant
創(chuàng)建命名空間(命名空間名,指定了租戶my-tenant:my-tenant/my-namespace)
./bin/pulsar-admin namespaces create my-tenant/my-namespace
創(chuàng)建持久性分區(qū)topic(topic全名:persistent://my-tenant/my-namespace/my-topic)
./bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic -p 3
更新命名空間為其指定集群
./bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace --clusters pulsar-cluster




