欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Apache?Pulsar集群搭建部署詳細(xì)過程

 更新時(shí)間:2022年02月08日 10:31:13   作者:編程課堂  
這篇文章主要介紹了Apache?Pulsar集群搭建過程,搭建Pulsar集群至少需要3個(gè)組件:ZooKeeper集群、BookKeeper集群和Broker集群,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下

一、集群組成說明

1、搭建Pulsar集群至少需要3個(gè)組件:ZooKeeper集群、BookKeeper集群和Broker集群(Broker是Pulsar的自身實(shí)例)。這三個(gè)集群組件如下:
ZooKeeper集群(3個(gè)ZooKeeper節(jié)點(diǎn)組成)
Bookie集群(也稱為BookKeeper集群,3個(gè)BookKeeper節(jié)點(diǎn)組成)
Broker集群(3個(gè)Pulsar節(jié)點(diǎn)組成)

2、Pulsar的安裝包已經(jīng)包含了搭建集群所需的各個(gè)組件庫(kù),無需單獨(dú)下載ZooKeeper安裝包和BookKeeper安裝包。

二、安裝前置條件

1、準(zhǔn)備3臺(tái)測(cè)試Linux服務(wù)器(Centos 7)。
2、在3臺(tái)Linux裸機(jī)服務(wù)器上安裝JDK(要求版本不低于JDK8)。
3、下載Pulsar安裝包,https://pulsar.apache.org/download/,上傳至3臺(tái)服務(wù)器。

三、ZooKeeper集群搭建

Pulsar安裝包內(nèi)包含了ZooKeeper,也可以自建ZooKeeper,自建ZooKeeper的方式略。安裝Pulsar安裝包內(nèi)的ZooKeeper方法如下:

1、解壓Pulsar安裝包

切換到根目錄:$ cd /?
創(chuàng)建data目錄:$ mkdir data
解壓:$ tar -zxvf apache-pulsar-2.9.1-bin.tar.gz

2、修改zookeeper.conf配置文件(三個(gè)節(jié)點(diǎn)上都需執(zhí)行此操作),新增或修改如下關(guān)鍵配置項(xiàng):

# dataDir是修改,其他都是新增
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
server.1=IP1:2888:3888
server.2=IP2:2888:3888
server.3=IP3:2888:3888

參數(shù)說明:
dataDir:當(dāng)前zookeeper節(jié)點(diǎn)的數(shù)據(jù)存放目錄
dataLogDir:當(dāng)前zookeeper節(jié)點(diǎn)的日志存放目錄
server.1~3:為zookeeper集群的各個(gè)節(jié)點(diǎn)指定編號(hào)

3、在每個(gè)zookeeper節(jié)點(diǎn)的機(jī)器上,新建如下文件目錄:

data:ZooKeeper使用的數(shù)據(jù)存儲(chǔ)目錄
mkdir -pv /data/zookeeper/data
log:ZooKeeper使用的日志存儲(chǔ)目錄
mkdir -pv /data/zookeeper/log

4、為每個(gè)zookeeper節(jié)點(diǎn)新建myid,分別在指定的sever上寫入配置文件中指定的編號(hào):

在server.1服務(wù)器上執(zhí)行bash命令:
echo 1 > /data/zookeeper/data/myid
在server.2服務(wù)器上執(zhí)行bash命令:
echo 2 > /data/zookeeper/data/myid
在server.3服務(wù)器上執(zhí)行bash命令:
echo 3 > /data/zookeeper/data/myid

5、執(zhí)行后臺(tái)運(yùn)行命令,這個(gè)命令是啟動(dòng)zookeeper:

bin/pulsar-daemon start zookeeper

6、執(zhí)行zookeeper客戶端連接命令:

bin/pulsar zookeeper-shell
客戶端正常連接,就算zookeeper啟動(dòng)好了

7、在另外兩臺(tái)服務(wù)器上也執(zhí)行bin/pulsar-daemon start zookeeper之后,在其中一個(gè)zookeeper節(jié)點(diǎn)的機(jī)器上,初始化集群元數(shù)據(jù)(總共只需執(zhí)行一次):

例如在IP1上:
bin/pulsar initialize-cluster-metadata \
    --cluster pulsar-cluster-zk \
    --zookeeper IP1:2181 \
    --configuration-store IP1:2181 \
    --web-service-url http://IP1:8080,IP2:8080,IP3:8080 \
    --web-service-url-tls https://IP1:8443,IP2:8443,IP3:8443 \
    --broker-service-url pulsar://IP1:6650,IP2:6650,IP3:6650 \
--broker-service-url-tls pulsar+ssl://IP1:6651,IP2:6651,IP3:6651
或使用如下指令:
bin/pulsar initialize-cluster-metadata \
  --cluster pulsar-cluster-zk \
  --zookeeper HOSTNAMEIP:2181 \
  --configuration-store HOSTNAMEIP:2181 \
  --web-service-url http://HOSTNAMEIP:8080 \
  --web-service-url-tls https://HOSTNAMEIP:8443 \
  --broker-service-url pulsar://HOSTNAMEIP:6650 \
  --broker-service-url-tls pulsar+ssl://HOSTNAMEIP:6651
集群元數(shù)據(jù)說明:
cluster
集群名稱
zookeeper
ZooKeeper集群連接參數(shù),僅需要包含ZooKeeper集群中的一個(gè)節(jié)點(diǎn)即可
configuration-store
Pulsar實(shí)例的配置存儲(chǔ)集群(ZooKeeper),多集群部署時(shí)才會(huì)發(fā)揮作用,需要另外部署ZooKeeper集群,但是單集群部署時(shí)可以和–zookeeper參數(shù)設(shè)置一樣,只需要包含ZooKeeper集群中的一個(gè)節(jié)點(diǎn)即可
web-service-url
集群Web服務(wù)的URL+端口,URL是一個(gè)標(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,不建議修改。

8、驗(yàn)證zookeeper初始化集群是否初始化成功

bin/pulsar zookeeper-shell
進(jìn)入zk控制臺(tái),通過ls /查看所有zk節(jié)點(diǎn)。能看到bookies,ledgers等節(jié)點(diǎn),則說明初始化成功了。
如果需要關(guān)閉zookeeper,可使用命令
bin/pulsar-daemon stop zookeeper

注意:
啟動(dòng)3臺(tái)服務(wù)器的zookeeper節(jié)點(diǎn)之后,發(fā)現(xiàn)zookeeper節(jié)點(diǎn)之后無法相互注冊(cè),需要開放特定的端口或直接關(guān)閉防火墻。下面是firewall防火墻相關(guān)操作指令:

firewall防火墻
1、查看firewall服務(wù)狀態(tài)
systemctl status firewalld
出現(xiàn)Active: active (running)切高亮顯示則表示是啟動(dòng)狀態(tài)。
出現(xiàn) Active: inactive (dead)灰色表示停止,看單詞也行。

2、查看firewall的狀態(tài)
firewall-cmd --state

3、開啟、重啟、關(guān)閉、firewalld.service服務(wù)
# 開啟
service firewalld start
# 重啟
service firewalld restart
# 關(guān)閉
service firewalld stop

4、查看防火墻規(guī)則
firewall-cmd --list-all

5、查詢、開放、關(guān)閉端口
# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重啟防火墻(修改配置后要重啟防火墻)
firewall-cmd --reload

四、BookKeeper集群搭建

1、修改bookkeeper.conf配置文件(三個(gè)節(jié)點(diǎn)上都需執(zhí)行此操作),修改如下關(guān)鍵配置項(xiàng):

advertisedAddress=IP1
zkServers=IP1:2181,IP2:2181,IP3:2181
journalDirectory=/data/bookkeeper/journal
ledgerDirectories=/data/bookkeeper/ledgers
prometheusStatsHttpPort=8100

注意:
1、prometheusStatsHttpPort默認(rèn)是8000,但實(shí)際上在bookkeeper.conf中,httpServerPort默認(rèn)也是8000,會(huì)導(dǎo)致端口被占用。
2、上面的advertisedAddress需要設(shè)置為對(duì)應(yīng)機(jī)器的ip,而不是全設(shè)置為同一個(gè)

參數(shù)說明:
advertisedAddress:指定當(dāng)前節(jié)點(diǎn)的主機(jī)名或IP地址。
zkServers:指定zookeeper集群,用來將bookkeeper節(jié)點(diǎn)的元數(shù)據(jù)存放在zookeeper集群。
journalDirectories:當(dāng)前bookkeeper節(jié)點(diǎn)的journal數(shù)據(jù)存放目錄。
如果需要提高磁盤寫入性能,可以指定多個(gè)目錄用來存放journal數(shù)據(jù),關(guān)鍵是每一個(gè)目錄必須在不同的磁盤,不然反而會(huì)影響寫入性能
ledgerDirectories:當(dāng)前bookkeeper節(jié)點(diǎn)的ledger存放目錄

2、在每個(gè)部署bookkeeper的機(jī)器上,創(chuàng)建bookie所需要目錄

mkdir -pv /data/bookkeeper/
mkdir -pv /data/bookkeeper/journal
mkdir -pv /data/bookkeeper/ledgers

3、執(zhí)行初始化元數(shù)據(jù)命令,若出現(xiàn)提示,輸入Y繼續(xù)(該步驟只需在一個(gè)bookie節(jié)點(diǎn)執(zhí)行一次,總共只需執(zhí)行一次)

bin/bookkeeper shell metaformat

4、在三臺(tái)機(jī)器上,分別輸入以下命令來以后臺(tái)進(jìn)程啟動(dòng)bookie

bin/pulsar-daemon start bookie

5、驗(yàn)證是否啟動(dòng)成功

bin/bookkeeper shell bookiesanity
出現(xiàn)Bookie sanity test succeeded則代表啟動(dòng)成功。
如果需要關(guān)閉bookkeeper,可使用命令
bin/pulsar-daemon stop bookie

五、Broker集群搭建

1、在每個(gè)部署B(yǎng)roker的機(jī)器上,修改broker.conf配置文件,修改如下關(guān)鍵配置項(xiàng):

zookeeperServers=IP1:2181,IP2:2181,IP3:2181
configurationStoreServers=IP1:2181,IP2:2181,IP3:2181
advertisedAddress=IP1
# clusterName與前面zookeeper初始化的cluster一致
clusterName=pulsar-cluster-zk

注意:
上面的advertisedAddress需要設(shè)置為對(duì)應(yīng)機(jī)器的ip,而不是全設(shè)置為同一個(gè)

參數(shù)說明:
zookeeperServers:指定zookeeper集群,用來將broker節(jié)點(diǎn)的元數(shù)據(jù)存放在zookeeper集群
configurationStoreServers:多集群部署時(shí)管理多個(gè)pulsar集群元數(shù)據(jù)的zookeeper集群地址,單集群部署時(shí)可以和zookeeperServers設(shè)置一樣
advertisedAddress:指定當(dāng)前節(jié)點(diǎn)的主機(jī)名或IP地址
clusterName:指定pulsar集群名稱

2、在每個(gè)部署B(yǎng)roker的機(jī)器上,以后臺(tái)進(jìn)程啟動(dòng)broker

bin/pulsar-daemon start broker
如果需要關(guān)閉broker,可使用命令
bin/pulsar-daemon stop broker

3、查看集群 brokers 節(jié)點(diǎn)情況

bin/pulsar-admin brokers list pulsar-cluster

我們的示例部署正常的話,這一步會(huì)顯示如下結(jié)果:

代表此時(shí)集群內(nèi)有存活的節(jié)點(diǎn): IP1、IP2、IP3,端口號(hào)都是8080。到這一步,Pulsar的部署就完成了。

六、docker安裝pulsar-dashboard

Pulsar自帶 Dashboard,可對(duì)broker、bookie、ZooKeeper 集群和topic等進(jìn)行監(jiān)控和統(tǒng)計(jì)。

1、安裝docker

yum install -y docker 
systemctl start docker
systemctl enable docker

2、安裝pulsar-dashboard

docker run --name pulsar-dashboard -dit -p 80:80 -e SERVICE_URL=http://PULSARSEVERIP:8080 apachepulsar/pulsar-dashboard

通過瀏覽器訪問docker宿主機(jī)IP

到此這篇關(guān)于Apache Pulsar集群搭建的文章就介紹到這了,更多相關(guān)Apache Pulsar集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論