zookeeper-3.4.6 分佈式安裝與配置

zookeeper集羣結構
master節點
slave1節點
slave2節點

zookeeper分佈式安裝配置步驟
1.下載並解壓得到zookeeper-3.4.6目錄,並新建指向其的鏈接zookeeper,將zookeeper鏈接文件放置/root目錄下
2.配置環境變量
編輯 /etc/profile文件,增加ZOOKEEPER_HOME和PATH變量,如下:
#zookeeper
export ZOOKEEPER_HOME=/root/zookeeper
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib:/root/php/bin:$ZOOKEEPER_HOME/bin
3.修改zookeeper配置文件 conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/root/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

dataLogDir=/root/zookeeper/data/logs
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
###########################################
配置文件黑色部分爲默認配置,紅色部分爲需要修改的
dataDir表示zookeeper數據存放目錄,dataLogDir爲日誌存放目錄
server.X用來配置ZooKeeper集羣中的各節點,並建議X的值和myid保持一致。
端口2181用於監聽客戶端的連接,端口2888用於Leader監聽Follower的連接,而3888則用於Leader選舉。

配置完該文件後,就可以把zookeeper目錄複製到相應結點中去了,無需改動。


4.在dataDir目錄新建myid文件
在每個zookeeper的數據目錄dataDir(/root/zookeeper/data)下新建myid文件,用來標識本機對應zookeeper集羣節點的id,所以每個zookeeper節點不一樣,這個最好與配置文件conf/zoo.cfg中的server.X一致。如果master節點的myid內容爲:1

5.啓動zookeeper 服務
啓動命令如下:
[root@master ~]# zkServer.sh start
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
注意:在每個zookeeper節點中都需要執行該命令

6.查看zookeeper服務是否啓動成功
#slave1節點爲leader節點
[root@slave1 Desktop]# zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: leader
#master節點爲follower節點
[root@master ~]# zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower

還可以通過jps命令查看相應的java進程是否啓動,成功啓動服務後會出現如下進程:
[root@master ~]# jps
2638 QuorumPeerMain

注意:zookeeper-3.4.6版本與之前某些版本不同,之前某些版本zkServer.sh可能有存在漏洞,即使服務啓動成功,但使用 zkServer.sh status命令可能還是顯示沒成功,這時只需要修改下 zkServer.sh文件就行,因爲 zkServer.sh使用了linux nc -q命令,某些linux可能不支持,具體可在網上查,此處不再重複。不過zookeeper-3.4.6不存在這個問題。

7.啓動zookeeper客戶端連接
[root@master ~]# zkCli.sh -server master:2181
後來會輸出一大堆信息,當出現 Welcome to ZooKeeper!  表示客戶端連接成功

到此爲止,zookeeper-3.4.6分佈式安裝配置全部完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章