centos7下zookeeper叢集安裝部署

满Sir發表於2024-07-10

centos7下zookeeper叢集安裝部署

應用場景:ZooKeeper是一個分散式的,開放原始碼的分散式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要元件。

     它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、組服務等。[摘自百度百科]

            官網:http://zookeeper.apache.org/

安裝環境:Zookeeper叢集最好至少安裝3個節點,這裡埠採用預設zookeeper預設埠:2181

     

     

安裝步驟

 1. 下載zookeeper並解壓

  官網推薦下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

   ~]# tar -zxvf zookeeper-3.4.11.tar.gz -C /opt/     //這裡解壓至/opt目錄中使用

  

 2. 編輯配置檔案

  進入conf目錄,cp生成一個zk能識別的配置檔案zoo.cfg,如下

   [root@server-1 conf]# cp zoo_sample.cfg zoo.cfg

  

  修改配置檔案zoo.cfg,如下:

   [root@server-1 conf]# vim zoo.cfg

  

  儲存,退出;

  三臺節點配置一樣,其他兩臺略。

 3. 新增myid檔案

  說明:除了修改 zoo.cfg 配置檔案,叢集模式下還要新增一個名叫myid的檔案,這個檔案放在上述dataDir指定的目錄下,這個檔案裡面就

     只有一個資料,就是上圖配置中server.x的這個x(1,2,3)值,zookeeper啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg 裡面

     的配置資訊比較從而判斷到底是那個server(節點)。

  

  

  

 4. 啟動節點

  切換到bin目錄中檢視一下:

  

  啟動方法檢視:

  

  啟動節點1:

   [root@server-1 bin]# ./zkServer.sh start     // 預設會到同級目錄conf中尋找zoo.cfg檔案,所以預設不用加配置檔案

  

  同樣的,啟動節點2,節點3:

   [root@server-2 bin]# ./zkServer.sh start

  [root@server-3 bin]# ./zkServer.sh start

  啟動後,會在當前bin目錄下生成一個日誌zookeeper.out,如果啟動不成功裡面會有錯,可供排錯使用。

 5. 檢視節點狀態

  當三臺節點都啟動完畢後可以檢視他們各自在叢集中的狀態:

   [root@server-1 bin]# ./zkServer.sh status

  

  

  

  至此,zookeeper叢集部署成功。

  排錯:如果檢視叢集狀態的時候報“Error contacting service. It is probably not running.”請檢查防火牆是不是阻擋了contacting。

  

 6. zookeeper客戶端使用

  使用bin目錄下的客戶端登入指令碼:zkCli.sh

  

  比方說:登入、檢視、退出。

   [root@server-1 bin]# ./zkCli.sh -server 192.168.1.21:2181     //連本地節點

   [root@server-1 bin]# ./zkCli.sh -server 192.168.1.21        //不帶埠就採用預設2181埠

   [root@server-1 bin]# ./zkCli.sh                  //不帶引數回車預設連線本地IP和2181埠

   [root@server-1 bin]# ./zkCli.sh -server 192.168.1.22        //也可以連線節點2的zk

  登入後操作:

  

  說明:客戶端連線後,用get / 命令可以發現此時只有zookeeper一項;如果此Zookeeper用於對Kafka或JStorm等提供服務,

     則還會有相應的其他目錄,後面在介紹kafka時會有相關內容。

     kafka叢集安裝:http://www.cnblogs.com/ding2016/p/8282907.html

 7. 叢集測試

  這裡就模擬斷掉"leader"節點——node-2,另外兩臺會透過之前設定的3888這個埠來重新選舉leader,結果如下:

  

  

相關文章