搭建zookeeper叢集(偽叢集)

窗體元件發表於2020-11-22
  1. jdk環境

  2. 上傳zk壓縮包

  3. 解壓縮

  4. 複製三份
    mkdir /usr/local/zk_cluster
    cp -r zookeeper-3.4.6 /usr/local/zk_cluster/zookeeper01

  5. 在每個zookeeper目錄下建立一個data目錄。

  6. 在data目錄下建立一個myid檔案,檔名就叫做“myid”。內容就是每個例項的id。例如1、2、3
    echo 1 >> myid
    cat myid

  7. 修改配置檔案。把conf目錄下的zoo_sample.cfg檔案改名為zoo.cfg

    # 修改以下配置
    # 第5步建立的data目錄路徑
    dataDir=
    # 埠號預設2181 三個zk節點埠要避免衝突
    clienPort=
    # 本機IP:客戶端埠:服務端埠
    servier.1=192.168.25.130:2881:3881
    servier.2=192.168.25.130:2882:3882
    servier.3=192.168.25.130:2883:3883
    
  8. 啟動每個zookeeper例項。

    bin/zkServer.sh start
    
  9. 檢視zookeeper的狀態:
    bin/zkServer.sh status
    ./zKCli.sh -server 127.0.0.1:2181 # 連線客戶端

  • 顯示根目錄下、檔案: ls / 使用 ls 命令來檢視當前 ZooKeeper 中所包含的內容
  • 顯示根目錄下、檔案: ls2 / 檢視當前節點資料並能看到更新次數等資料
  • 建立檔案,並設定初始內容: create /zk "test" 建立一個新的 znode節點“ zk ”以及與它關聯的字串 [-e] [-s] 【-e 零時節點】 【-s 順序節點】
  • 獲取檔案內容: get /zk 確認 znode 是否包含我們所建立的字串 [watch]【watch 監聽】
  • 修改檔案內容: set /zk "zkbak" 對 zk 所關聯的字串進行設定
  • 刪除檔案: delete /zk 將剛才建立的 znode 刪除,如果存在子節點刪除失敗
  • 遞迴刪除:rmr /zk將剛才建立的 znode 刪除,子節點同時刪除
  • 退出客戶端: quit
  • 幫助命令: help

注意

zookeeper最近的版本中有個內嵌的管理控制檯是通過jetty啟動,也會佔用8080 埠。
通過檢視zookeeper的官方文件,發現有3種解決途徑:

(1).刪除jetty。
(2)修改埠。
修改方法的方法有兩種,一種是在啟動指令碼中增加 -Dzookeeper.admin.serverPort=你的埠號.一種是在zoo.cfg中增加admin.serverPort=沒有被佔用的埠號
(3)停用這個服務,在啟動指令碼中增加"-Dzookeeper.admin.enableServer=false"

相關文章