1. 程式人生 > >Zookeeper 配置詳解 第 二 章

Zookeeper 配置詳解 第 二 章

第 2 章 安裝 Zookeeper

本章介紹如何配置Zookeeper.

2.1 下載和安裝 Zookeeper

2.1.1 下載Zookeeper

2.1.2 安裝

獨立模式執行(本地模式)

首次嘗試使用Zookeeper時, 最簡單的方式是在一臺Zookeeper伺服器上以獨立模式(standalone mode)執行.

比如可以在一臺用來開發的機器上執行.

  1. 準備工作
  • 由於Zookeeper需要在java虛擬機器上執行, 確定要執行Zookeeper的機器上已經安裝java, 並做了正確配置.
  • 把Zookeeper的打包好的檔案copy到一臺Linux電腦上(比如:hadoop201
    ) /opt/software
  • 解壓到指定目錄
cd /opt/software
tar -zxvf zookeeper-3.4.13.tar.gz -C /opt/module/

並確認是否解壓成功.

  • 為了以後執行Zookeeper提供的一些工具方便, 可以把Zookeeper根目錄下的bin目錄新增到path中.
vim /etc/profile
# 在開啟的檔案中增加如下兩行
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.13
export PATH=$PATH:$ZOOKEEPER_HOME/bin
  1. 配置Zookeeper

在執行Zookeeper之前,我們需要先建立一個配置檔案. 這個配置檔案習慣上被命名為zoo.cfg

, 並保持在conf這個子目錄下. 其實在conf這個目錄下已經有了一個配置檔案的模板,我們只需要複製一份, 並更改檔名即可, 然後在其中做修改.

cd conf
cp zoo_sample.cfg zoo.cfg

配置檔案的示例程式碼如下:

initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

這是一個標準的java屬性檔案. 具體含義後面再細講.

  • 我們暫時只修改dataDir這個屬性的值為/opt/module/zookeeper-3.4.10/zkData(需要先建立一個目錄:zkData) 這個屬性的值表示儲存持久化資料的位置.
  • clientPort用於指定Zookeeper用於監聽客戶端連線的埠.通常使用2181埠.
initLimit=10
syncLimit=5
dataDir=/opt/module/zookeeper-3.4.13/zkData
clientPort=2181

2.2 獨立模式操作 Zookeeper

本節基於獨立模式操作 Zookeeper.

2.2.1 啟動和停止一個本地 Zookeeper 伺服器

  1. 啟動
zkServer.sh start

  1. 檢測是否啟動成功
  • 由於Zookeeper屬於java程序, 所以可以使用jps命令來檢測

  • 也可是使用Zookeeper提供的命令來檢測

echo ruok | nc hadoop201 2181

說明:

  • Zookeeper提供了很多四字指令.
  • ruok(Are you OK?)
  • imok(I am OK!)
  1. 停止
zkServer.sh stop

2.2.2 Zookeeper的其他操作

常用的伺服器端四字命令(檢視伺服器的狀態)

這些命令都是客戶端用來獲取服務端的一些資訊, 都是讀操作.

  1. stat 輸出伺服器的統計資訊和已連線的客戶端
  1. ruok 如果伺服器正則執行, 且未處於出錯狀態, 則返回imok
  1. conf 輸出伺服器的配置資訊.(基於zoo.cfg)
  1. envi 輸出伺服器的環境資訊, 包括Zookeeper版本, Java版本和其他系統屬性.
  1. srvr輸出伺服器的統計資訊, 包括Zookeeper版本, znode的數量和伺服器執行模式(standalone, leader, follower)
  1. srst重置伺服器統計資訊.
  1. isro 顯示伺服器是否處於只讀模式(ro:read only), 或者讀寫模式(rw)