您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Java中怎么搭建ZK集群,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
(1)解壓、安裝、同步
我們已經在hadoop100上安裝了zk,現在將解壓包,分發到hadoop101和hadoop102服務器上,命令如下:
[root@hadoop100 dev]# xsync zookeeper-3.4.10/
同步以后分別到另外兩臺服務器opt/dev目錄下查看,是否同步成功,并且同步的時候,由于我們做了免密登錄,是不是不需要密碼的。
(2)配置服務器
① 在/opt/module/zookeeper-3.4.10/這個目錄下創建zkData(如果已經創建就不需要再次創建)
② 在/opt/dev/zookeeper-3.4.10/zkData下,創建一個myid的文件,如下:
[root@hadoop100 zkData]# touch myid
③ 編輯myid文件,在文件中添加與server對應的編號(從1開始)
[root@hadoop100 zkData]# vi myid
④ 添加后查看如下
⑤ 把文件同步到其他機器上
[root@hadoop100 zkData]# xsync myid
⑥ 分別修改hadoop101、hadoop102的myid的文件內容為2和3
⑦ 配置zoo.cfg文件,在單機安裝時,我們已經改過名字并且修改了dataDir的路徑,接下來只需增加如下配置:
#######################cluster##########################server.1=hadoop100:2888:3888server.2=hadoop101:2888:3888server.3=hadoop102:2888:3888
⑧ 同步zoo.cfg配置文件
[root@hadoop100 conf]# xsync zoo.cfg
參數解讀:
server.A=B:C:D
A是一個數字,表示這個是第幾號服務器;集群模式下配置一個文件myid,這個文件在dataDir目錄下,這個文件里面有一個數據就是A的值,Zookeeper啟動時讀取此文件,拿到里面的數據與zoo.cfg里面的配置信息比較從而判斷到底是哪個server。
B是這個服務器的ip地址
C是這個服務器與集群中的Leader服務器交換信息的端口
D是萬一集群中的Leader服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口
(3)集群啟動
注意:一定要關閉防火墻哦
① 啟動三臺服務器的ZK,命令如下:
[root@hadoop100 zookeeper-3.4.10]# bin/zkServer.sh start[root@hadoop101 zookeeper-3.4.10]# bin/zkServer.sh start[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start
② 查看狀態
[root@hadoop100 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower(跟隨者)
[root@hadoop101 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower(跟隨者)
[root@hadoop102 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader(選舉產生的leader)
附:客戶端命令行操作
上述就是小編為大家分享的Java中怎么搭建ZK集群了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。