1.解壓zookeeper安裝包(本人重命名為zookeeper,並移動到/usr/local路徑下),此處只有解壓命令
tar -zxvf zookeeper-3.4.5.tar.gz
2.進入到zookeeper文件夾下,並創建data和logs文件夾(一般解壓后都有data文件夾)
[root@localhost zookeeper]# cd /usr/local/zookeeper/
[root@localhost zookeeper]# mkdir logs
3.在conf目錄下修改zoo.cfg文件(如果沒有此文件,則自己新建該文件),修改為如下內容:
最低配置
集群選項
參數名
|
默認 |
描述
|
electionAlg
|
之前的版本中, 這個參數配置是允許我們選擇leader選舉算法,但是由於在以后的版本中,只有“FastLeaderElection ”算法可用,所以這個參數目前看來沒有用了。
|
|
initLimit
|
10
|
Observer和Follower啟動時,從Leader同步最新數據時,Leader允許initLimit * tickTime的時間內完成。如果同步的數據量很大,可以相應的把這個值設置的大一些。 |
leaderServes
|
yes | 默 認情況下,Leader是會接受客戶端連接,並提供正常的讀寫服務。但是,如果你想讓Leader專注於集群中機器的協調,那么可以將這個參數設置為 no,這樣一來,會大大提高寫操作的性能。一般機器數比較多的情況下可以設置為no,讓Leader不接受客戶端的連接。默認為yes |
server.x=[hostname]:nnnnn[:nnnnn]
|
|
“x”是一個數字,與每個服務器的myid文件中的id是一樣的。hostname是服務器的hostname,右邊配置兩個端口,第一個端口用於Follower和Leader之間的數據同步和其它通信,第二個端口用於Leader選舉過程中投票通信。 |
syncLimit
|
|
表示Follower和Observer與Leader交互時的最大等待時間,只不過是在與leader同步完畢之后,進入正常請求轉發或ping等消息交互時的超時時間。
|
group.x=nnnnn[:nnnnn]
|
|
“x”是一個數字,與每個服務器的myid文件中的id是一樣的。對機器分組,后面的參數是myid文件中的ID
|
weight.x=nnnnn
|
“x”是一個數字,與每個服務器的myid文件中的id是一樣的。機器的權重設置,后面的參數是權重值
|
|
cnxTimeout |
5s
|
選舉過程中打開一次連接的超時時間,默認是5s
|
standaloneEnabled
|
當設置為false時,服務器在復制模式下啟動
|
4.進入bin目錄,啟動、停止、重啟分和查看當前節點狀態
[root@localhost bin]# ./zkServer.sh start
[root@localhost bin]# ./zkServer.sh stop
[root@localhost bin]# ./zkServer.sh restart
[root@localhost bin]# ./zkServer.sh status