Apache Pulsar[4] 偽集群環(huán)境搭建

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容