今天,棧長分享下 Zookeeper 的集群安裝及配置。 下載 下載地址:http://zookeeper.apache.org/ 下載過程就不說了,我們下載了最新的 。 安裝 1、上傳安裝包 把下載的最新的包(如:zookeeper 3.4.11.tar.gz)上傳到伺服器,上傳的方式也不多說了。 ...
今天,棧長分享下 Zookeeper 的集群安裝及配置。
下載
下載地址:http://zookeeper.apache.org/
下載過程就不說了,我們下載了最新的zookeeper-3.4.11
。
安裝
1、上傳安裝包
把下載的最新的包(如:zookeeper-3.4.11.tar.gz)上傳到伺服器,上傳的方式也不多說了。
2、解壓
$ tar zxvf zookeeper-3.4.11.tar.gz
3、移動到/usr/local目錄下
$ mv zookeeper-3.4.11 /usr/local/zookeeper
集群配置
Zookeeper集群原則上需要2n+1個實例才能保證集群有效性,所以集群規模至少是3台。
下麵演示如何創建3台的Zookeeper集群,N台也是如此。
1、創建數據文件存儲目錄
$ cd /usr/local/zookeeper
$ mkdir data
2、添加主配置文件
$ cd conf
$ cp zoo_sample.cfg zoo.cfg
3、修改配置
$ 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
4、創建myid文件
$ cd ../data
$ touch myid
$ echo "1">>myid
每台機器的myid裡面的值對應server.後面的數字x。
5、開放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
6、配置集群其他機器
把配置好的Zookeeper目錄複製到其他兩台機器上,重覆上面4-5步。
$ scp -r /usr/local/zookeeper [email protected]:/usr/local/
7、重啟集群
$ /usr/local/zookeeper/bin/zkServer.sh start
3個Zookeeper都要啟動。
8、查看集群狀態
$ /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" 可獲取更多,轉載請原樣保留本信息。