準備6臺機器
第一步、安裝zookeeper集羣,刪除conf下zoo_sample.cfg文件,創建zoo.cfg,配置文件如下
##通信心跳數Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
tickTime=2000
##Zookeeper保存數據的目錄,默認情況下,Zookeeper將寫數據的日誌文件也保存在這個目錄裏。
dataDir=/opt/apache-zookeeper-3.8.2-bin/data
##Zookeeper保存日誌文件的目錄。
dataLogDir=/opt/apache-zookeeper-3.8.2-bin/logs
##客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
clientPort=2181
##(可以沒有)集羣中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)。
initLimit=5
##(可以沒有)集羣中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。
syncLimit=2
#quorumListenOnAllIPs=true
admin.serverPort=8887
server.1=10.254.0.80:2888:3888
server.2=10.254.0.81:2888:3888
server.3=10.254.0.82:2888:3888
相關腳本
啓動
./zkServer.sh start
關閉
./zkServer.sh stop
查看節點狀態
./zkServer.sh status
第二步、部署bookKeeper集羣,編輯 bookkeeper.conf 文件 vim conf/bookkeeper.conf
配置文件如下
#journal和ledger使用目錄
# 當前節點ip
advertisedAddress=10.254.0.83
# 修改zk地址和端口信息
zkServers=xxx.xxx.xxx.xxx:2181,xxx.xxx.xxx.xxx:2181,xxx.xxx.xxx.xxx:2181
prometheusStatsHttpPort=8100
初始化元數據,並啓動 bookie 集羣,執行初始化元數據命令;若出現提示,輸入 Y,繼續(只需在任意一個bookie節點執行一次)
bin/pulsar initialize-cluster-metadata \
--cluster pulsar-cluster \
--zookeeper 10.254.0.80:2181,10.254.0.81:2181,10.254.0.82:2181 \
--configuration-store 10.254.0.80:2181,10.254.0.81:2181,10.254.0.82:2181 \
--web-service-url http://10.254.0.83:8080,10.254.0.84:8080,10.254.0.85:8080 \
--web-service-url-tls https://10.254.0.83:8443,10.254.0.84:8443,10.254.0.85:8443 \
--broker-service-url pulsar://10.254.0.83:6650,10.254.0.84:6650,10.254.0.85:6650 \
--broker-service-url-tls pulsar+ssl://10.254.0.83:6651,10.254.0.84:6651,10.254.0.85:6651
bin/bookkeeper shell metaformat
啓動/關閉服務
#bookie關閉命令
bin/pulsar-daemon stop bookie
#啓動bookie命令,以後臺進程啓動bookie
bin/pulsar-daemon start bookie
驗證是否成功#出現如下顯示“Bookie sanity test succeeded” 表示啓動成功
#驗證是否啓動成功
bin/bookkeeper shell bookiesanity
第三步、部署Broker集羣,修改配置文件 vim conf/broker.conf
# 修改集羣名,和 ZooKeeper 裏初始化元數據時指定的集羣名(--cluster pulsar-cluster-iot)相同
clusterName=pulsar-cluster-iot
# 配置ZooKeeper 集羣地址和端口號zookeeperServers=192.168.1.17:12181,192.168.1.18:12181,192.168.1.19:12181
configurationStoreServers=192.168.1.17:12181,192.168.1.18:12181,192.168.1.19:12181
# 當前服務器IP
advertisedAddress=192.168.1.17
#由於8080端口被佔用,修改爲18080, 也可以不修改
webServicePort=18080
相關腳步
# 以後臺進程啓動 broker
bin/pulsar-daemon start broker
# 關閉
bin/pulsar-daemon stop broker
# 查看集羣 brokers 節點情況
bin/pulsar-admin brokers list pulsar-cluster-iot
#報錯:
HTTP 404 Not Found
#客戶端修改,需要修改端口:18080
vim conf/client.conf
修改爲18080端口
webServiceUrl=http://localhost:18080/
驗證
bin/pulsar-admin brokers list pulsar-cluster
#顯示如下:表式集羣搭建成功
10.254.0.85:18080
10.254.0.84:18080
10.254.0.83:18080