背景:
一個有5臺機器的ZK集羣,其中一臺機器zk1.abc.com故障,需要將其替換下線。
說明:訪問該ZK集羣的客戶端Java程序要加上定期更新域名解析的參數。
zoo.cfg配置文件如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/cluster-data/zk/data
clientPort=2181
maxClientCnxns=20
maxSessionTimeout=360000
autopurge.snapRetainCount=1000
autopurge.purgeInterval=24
server.1:zk1.abc.com:2888:3888
server.2:zk2.abc.com:2888:3888
server.3:zk3.abc.com:2888:3888
server.4:zk4.abc.com:2888:3888
server.5:zk5.abc.com:2888:3888
變更步驟:
1. 找一臺新機器安裝軟件
sudo yum install -b current -y jdk-1.7.0_75-83.el5 zookeeper-3.4.5-3;
2. 準備好配置文件
/home/admin/zookeeper/conf/zoo.cfg 內容不變
/home/admin/zookeeper/data/myid 設置比當前集羣所有myid大1,myid大的向myid小的建立連接。
3. 啓動ZK
$sudo -u admin /home/admin/zookeeper/zkServer.sh start
4. 查看ZK所有機器的狀態,如果新機器的Node count與其它節點的數值一致,則認爲啓動正常。
$echo stat|nc localhost 32188|tail -n 8
5.變更故障機域名zk1.abc.com指向新機器的IP地址