今天,棧長分享下 Zookeeper 的集羣安裝及配置。java
下載地址: http://zookeeper.apache.org/
下載過程就不說了,咱們下載了最新的zookeeper-3.4.11
。apache
一、上傳安裝包服務器
把下載的最新的包(如:zookeeper-3.4.11.tar.gz)上傳到服務器,上傳的方式也很少說了。微信
二、解壓tcp
$ tar zxvf zookeeper-3.4.11.tar.gz
三、移動到/usr/local目錄下spa
$ mv zookeeper-3.4.11 /usr/local/zookeeper
Zookeeper集羣原則上須要2n+1個實例才能保證集羣有效性,因此集羣規模至少是3臺。rest
下面演示如何建立3臺的Zookeeper集羣,N臺也是如此。日誌
一、建立數據文件存儲目錄code
$ cd /usr/local/zookeeper $ mkdir data
二、添加主配置文件server
$ cd conf $ cp zoo_sample.cfg zoo.cfg
三、修改配置
$ vi zoo.cfg
先把dataDir=/tmp/zookeeper
註釋掉,而後添加如下核心配置。
dataDir=/usr/local/zookeeper/data server.1=192.168.10.31:2888:3888 server.2=192.168.10.32:2888:3888 server.3=192.168.10.33:2888:3888
四、建立myid文件
$ cd ../data $ touch myid $ echo "1">>myid
每臺機器的myid裏面的值對應server.後面的數字x。
五、開放3個端口
$ sudo /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT $ sudo /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT $ sudo /sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT $ sudo /etc/rc.d/init.d/iptables save $ sudo /etc/init.d/iptables restart $ sudo /sbin/iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3888 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2888 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2181
六、配置集羣其餘機器
把配置好的Zookeeper目錄複製到其餘兩臺機器上,重複上面4-5步。
$ scp -r /usr/local/zookeeper test@192.168.10.32:/usr/local/
七、重啓集羣
$ /usr/local/zookeeper/bin/zkServer.sh start
3個Zookeeper都要啓動。
八、查看集羣狀態
$ /usr/local/zookeeper/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower
./zkCli.sh -server 192.168.10.31:2181
鏈接本機的不用帶-server。
若是是在單機建立的多個Zookeeper僞集羣,須要對應修改配置中的端口、日誌文件、數據文件位置等配置信息。
跟着棧長學 Zookeeper,能夠在Java技術棧微信公衆號回覆關鍵字:Zookeeper,後續會陸續更新 Zookeeper 系列文章。
本文原創首發於微信公衆號:Java技術棧(id:javastack),關注公衆號在後臺回覆 "java" 可獲取更多,轉載請原樣保留本信息。