在CentOS上安裝ZooKeeper集群
來自: http://blog.csdn.net/pdw2009/article/details/21264825
(可選)創建新用戶
一般我傾向于把需要啟動daemon進程,對外提供服務的程序,即服務器類的程序,安裝在單獨的用戶下面。這樣可以做到隔離,運維方面,安全性也提高了。
創建一個新的group,
$ sudo groupadd zookeeper
創建一個新的用戶,并加入group,
$ sudo useradd -g zookeeper zookeeper
給新用戶設置密碼,
$ sudo passwd zookeeper
1. 單機模式(Standalone mode)
單機模式在開發和調試階段很有用。
1.1 下載,解壓
$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz $ tar zxf zookeeper-3.4.5.tar.gz -C ~/local/opt
1.2 啟動
默認就是單機模式,
$ mv conf/zoo_sample.cfg conf/zoo.cfg $ ./bin/zdServer.sh start
1.3 使用java 客戶端連接ZooKeeper
$ ./bin/zkCli.sh -server 127.0.0.1:2181
然后就可以使用各種命令了,跟文件操作命令很類似,輸入help
可以看到所有命令。
1.4 關閉
$ ./bin/zdServer.sh sto
2. 分布式模式(Replicated mode)在生產環境中,要配置成分布式模式,才能發揮威力。ZooKeeper集群一般被稱為ZooKeeper ensemble,或者 quorum.2.1 準備3臺機器假設有三臺機器,hostname和ip對應關系是:192.168.1.131 zk01 192.168.1.132 zk02 192.168.1.133 zk03ZooKeeper不存在明顯的master/slave關系,各個節點都是服務器,leader掛了,會立馬從follower中選舉一個出來作為leader.由于沒有主從關系,也不用配置SSH無密碼登錄了,各個zk服務器是自己啟動的,互相之間通過TCP端口來交換數據。2.2 修改配置文件conf/zoo.cfgtickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/zookeeper/local/var/zookeeper clientPort=2181 server.1=zk01:2888:3888 server.2=zk02:2888:3888 server.3=zk03:2888:3888我一般把服務器程序,即需要啟動daemon進程的程序,放在單獨的用戶里安裝;且用戶的數據,放在local/var下面,所以我的dataDir是/home/zookeeper/local/var/zookeeper。2.3 myid文件要在每臺機器的dataDir下,新建一個myid文件,里面存放一個數字,用來標識當前主機。zookeeper@zk01:$ echo "1" >> ~/local/var/zookeeper/myid zookeeper@zk02:$ echo "2" >> ~/local/var/zookeeper/myid zookeeper@zk03:$ echo "3" >> ~/local/var/zookeeper/myid2.4 啟動每臺機器zookeeper@zk01:$ ~/local/opt/zookeeper-3.4.5/bin/zkServer.sh start zookeeper@zk02:$ ~/local/opt/zookeeper-3.4.5/bin/zkServer.sh start zookeeper@zk03:$ ~/local/opt/zookeeper-3.4.5/bin/zkServer.sh start因為3個節點的啟動是有順序的,所以在陸續啟動三個節點的時候,前面先啟動的節點連接未啟動的節點的時候會報出一些錯誤。可以忽略。2.5 查看狀態$ ~/local/opt/zookeeper-3.4.5/bin/zkServer.sh status3 使用java客戶端連接ZooKeeper集群找一臺機器,解壓zookeeper壓縮包,不用配置,就可以使用java客戶端連接ZooKeeper集群中的任意一臺服務器了。$ ./bin/zkCli.sh -server zk01:2181 $ ./bin/zkCli.sh -server zk01:2181 $ ./bin/zkCli.sh -server zk01:2181
本文由用戶 tonytang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!