分散式Web應用----Linux環境下zookeeper叢集環境的安裝與配置
阿新 • • 發佈:2019-01-05
寫在前面
zookeeper在分散式應用中運用的比較廣泛,瞭解zookeeper的原理對理解分佈架構的應用具有很大的幫助,學會安裝zookeeper是學習zookeeper的前提,自己剛剛學習zookeeper,記錄一下安裝過程,增加自己印象,方便其它人學習。
下載zookeeper
wget http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.8.tar.gz
解壓zookeeper,並重命名為zookeeper
tar -zxvf zookeeper-3.4.8.tar.gz
mv zookeeper-3.4 .8 zookeeper
複製配置檔案並配置zookeeper叢集
進入zookeeper/conf目錄下
cp zoo_sample.cfg 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=/var/zookeeper
# 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
#server.id(伺服器ID)=host(主機地址):port(follower與leader伺服器通訊埠):port(選取leader埠)
server.1=192.168.1.105:2888:3888
server.2=192.168.1.106:2888:3888
server.3=192.168.1.107:2888:3888
在配置檔案中主要關注三個地方,
1. clientPort=2181 這個是連線zookeeper的埠
2. dataDir=/var/zookeeper 這是zookeeper在啟動過程中存放檔案的目錄
3. server.1=192.168.1.105:2888:3888 這裡是叢集伺服器的配置,zookeeper執行有三個模式
- 叢集模式,上面配置的是叢集模式,
- 偽叢集模式就是用單機來模仿叢集模式,只需要將server.id後面的ip地址配置成一樣的,然後用不同的埠
- 單機模式,不需要配置server.id
在建立var/zookeeper/myid檔案,輸入對應的server的ID
同樣的安裝及配置複製到其它二臺伺服器上,zoo.cfg配置都一樣,唯一不一樣的是/var/zookeeper/myid檔案中的值,例如我的配置中
192.168.1.105的 /var/zookeeper/myid中寫1
192.168.1.106的/var/zookeeper/myid中寫2
192.168.1.107的/var/zookeeper/myid中寫3
啟動zookeeper叢集
分別進入三臺伺服器的 zookeeper/bin目錄下啟動zookeeper
./zkServer.sh start #啟動
./zkServer.sh stop #停止
./zkServer.sh restart #重啟
檢查zookerper啟動狀態
利用telnet命令連線到zookeeper
telnet 192.168.1.106 2181
telnet連線成功後,利用stat命令檢視zookeeper狀態
stat
192.168.1.106 伺服器zookeeper狀態
Zookeeper version: 3.4.8--1, built on 02/06/2016 03:18 GMT
Clients:
/127.0.0.1:45681[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
Connection closed by foreign host.
192.168.1.107 伺服器zookeeper狀態
Zookeeper version: 3.4.8--1, built on 02/06/2016 03:18 GMT
Clients:
/121.41.84.103:36718[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 5
Sent: 4
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4
Connection closed by foreign host.
我們可以看到107的Mode:leader說明這是leader伺服器,106的mode:follower說明是follower伺服器,這說明zookeeper叢集安裝配置成功了。