<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1、搭建Pulsar叢集至少需要3個元件:ZooKeeper叢集、BookKeeper叢集和Broker叢集(Broker是Pulsar的自身範例)。這三個叢集元件如下:
ZooKeeper叢集(3個ZooKeeper節點組成)
Bookie叢集(也稱為BookKeeper叢集,3個BookKeeper節點組成)
Broker叢集(3個Pulsar節點組成)
2、Pulsar的安裝包已經包含了搭建叢集所需的各個元件庫,無需單獨下載ZooKeeper安裝包和BookKeeper安裝包。
1、準備3臺測試Linux伺服器(Centos 7)。
2、在3臺Linux裸機伺服器上安裝JDK(要求版本不低於JDK8)。
3、下載Pulsar安裝包,https://pulsar.apache.org/download/,上傳至3臺伺服器。
Pulsar安裝包內包含了ZooKeeper,也可以自建ZooKeeper,自建ZooKeeper的方式略。安裝Pulsar安裝包內的ZooKeeper方法如下:
1、解壓Pulsar安裝包
切換到根目錄:$ cd / 建立data目錄:$ mkdir data 解壓:$ tar -zxvf apache-pulsar-2.9.1-bin.tar.gz
2、修改zookeeper.conf組態檔(三個節點上都需執行此操作),新增或修改如下關鍵設定項:
# dataDir是修改,其他都是新增 dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/log server.1=IP1:2888:3888 server.2=IP2:2888:3888 server.3=IP3:2888:3888
引數說明:
dataDir:當前zookeeper節點的資料存放目錄
dataLogDir:當前zookeeper節點的紀錄檔存放目錄
server.1~3:為zookeeper叢集的各個節點指定編號
3、在每個zookeeper節點的機器上,新建如下檔案目錄:
data:ZooKeeper使用的資料儲存目錄 mkdir -pv /data/zookeeper/data log:ZooKeeper使用的紀錄檔儲存目錄 mkdir -pv /data/zookeeper/log
4、為每個zookeeper節點新建myid,分別在指定的sever上寫入組態檔中指定的編號:
在server.1伺服器上執行bash命令: echo 1 > /data/zookeeper/data/myid 在server.2伺服器上執行bash命令: echo 2 > /data/zookeeper/data/myid 在server.3伺服器上執行bash命令: echo 3 > /data/zookeeper/data/myid
5、執行後臺執行命令,這個命令是啟動zookeeper:
bin/pulsar-daemon start zookeeper
6、執行zookeeper使用者端連線命令:
bin/pulsar zookeeper-shell 使用者端正常連線,就算zookeeper啟動好了
7、在另外兩臺伺服器上也執行bin/pulsar-daemon start zookeeper之後,在其中一個zookeeper節點的機器上,初始化叢集後設資料(總共只需執行一次):
例如在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
叢集後設資料說明: cluster 叢集名稱 zookeeper ZooKeeper叢集連線引數,僅需要包含ZooKeeper叢集中的一個節點即可 configuration-store Pulsar範例的設定儲存叢集(ZooKeeper),多叢集部署時才會發揮作用,需要另外部署ZooKeeper叢集,但是單叢集部署時可以和–zookeeper引數設定一樣,只需要包含ZooKeeper叢集中的一個節點即可 web-service-url 叢集Web服務的URL+埠,URL是一個標準的DNS名稱,預設埠8080,不建議修改。 web-service-url-tls 叢集Web提供TLS服務的URL+埠,埠預設8443,不建議修改。 broker-service-url 叢集brokers服務URL,URL中DNS的名稱和Web服務保持一致,URL使用pulsar替代http/http,埠預設6650,不建議修改。 broker-service-url-tls 叢集brokers提供TLS服務的URL,預設埠6551,不建議修改。
8、驗證zookeeper初始化叢集是否初始化成功
bin/pulsar zookeeper-shell 進入zk控制檯,通過ls /檢視所有zk節點。能看到bookies,ledgers等節點,則說明初始化成功了。 如果需要關閉zookeeper,可使用命令 bin/pulsar-daemon stop zookeeper
注意:
啟動3臺伺服器的zookeeper節點之後,發現zookeeper節點之後無法相互註冊,需要開放特定的埠或直接關閉防火牆。下面是firewall防火牆相關操作指令:
firewall防火牆 1、檢視firewall服務狀態 systemctl status firewalld 出現Active: active (running)切高亮顯示則表示是啟動狀態。 出現 Active: inactive (dead)灰色表示停止,看單詞也行。 2、檢視firewall的狀態 firewall-cmd --state 3、開啟、重啟、關閉、firewalld.service服務 # 開啟 service firewalld start # 重啟 service firewalld restart # 關閉 service firewalld stop 4、檢視防火牆規則 firewall-cmd --list-all 5、查詢、開放、關閉埠 # 查詢埠是否開放 firewall-cmd --query-port=8080/tcp # 開放80埠 firewall-cmd --permanent --add-port=80/tcp # 移除埠 firewall-cmd --permanent --remove-port=8080/tcp #重啟防火牆(修改設定後要重啟防火牆) firewall-cmd --reload
1、修改bookkeeper.conf組態檔(三個節點上都需執行此操作),修改如下關鍵設定項:
advertisedAddress=IP1 zkServers=IP1:2181,IP2:2181,IP3:2181 journalDirectory=/data/bookkeeper/journal ledgerDirectories=/data/bookkeeper/ledgers prometheusStatsHttpPort=8100
注意:
1、prometheusStatsHttpPort預設是8000,但實際上在bookkeeper.conf中,httpServerPort預設也是8000,會導致埠被佔用。
2、上面的advertisedAddress需要設定為對應機器的ip,而不是全設定為同一個
引數說明:
advertisedAddress:指定當前節點的主機名或IP地址。
zkServers:指定zookeeper叢集,用來將bookkeeper節點的後設資料存放在zookeeper叢集。
journalDirectories:當前bookkeeper節點的journal資料存放目錄。
如果需要提高磁碟寫入效能,可以指定多個目錄用來存放journal資料,關鍵是每一個目錄必須在不同的磁碟,不然反而會影響寫入效能
ledgerDirectories:當前bookkeeper節點的ledger存放目錄
2、在每個部署bookkeeper的機器上,建立bookie所需要目錄
mkdir -pv /data/bookkeeper/ mkdir -pv /data/bookkeeper/journal mkdir -pv /data/bookkeeper/ledgers
3、執行初始化後設資料命令,若出現提示,輸入Y繼續(該步驟只需在一個bookie節點執行一次,總共只需執行一次)
bin/bookkeeper shell metaformat
4、在三臺機器上,分別輸入以下命令來以後臺程序啟動bookie
bin/pulsar-daemon start bookie
5、驗證是否啟動成功
bin/bookkeeper shell bookiesanity 出現Bookie sanity test succeeded則代表啟動成功。 如果需要關閉bookkeeper,可使用命令 bin/pulsar-daemon stop bookie
1、在每個部署Broker的機器上,修改broker.conf組態檔,修改如下關鍵設定項:
zookeeperServers=IP1:2181,IP2:2181,IP3:2181 configurationStoreServers=IP1:2181,IP2:2181,IP3:2181 advertisedAddress=IP1 # clusterName與前面zookeeper初始化的cluster一致 clusterName=pulsar-cluster-zk
注意:
上面的advertisedAddress需要設定為對應機器的ip,而不是全設定為同一個
引數說明:
zookeeperServers:指定zookeeper叢集,用來將broker節點的後設資料存放在zookeeper叢集
configurationStoreServers:多叢集部署時管理多個pulsar叢集後設資料的zookeeper叢集地址,單叢集部署時可以和zookeeperServers設定一樣
advertisedAddress:指定當前節點的主機名或IP地址
clusterName:指定pulsar叢集名稱
2、在每個部署Broker的機器上,以後臺程序啟動broker
bin/pulsar-daemon start broker 如果需要關閉broker,可使用命令 bin/pulsar-daemon stop broker
3、檢視叢集 brokers 節點情況
bin/pulsar-admin brokers list pulsar-cluster
我們的範例部署正常的話,這一步會顯示如下結果:
代表此時叢集內有存活的節點: IP1、IP2、IP3,埠號都是8080。到這一步,Pulsar的部署就完成了。
Pulsar自帶 Dashboard,可對broker、bookie、ZooKeeper 叢集和topic等進行監控和統計。
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宿主機IP
到此這篇關於Apache Pulsar叢集搭建的文章就介紹到這了,更多相關Apache Pulsar叢集內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45