zookeeper单机集群安装
环境
CentOS 6.6 X86_64
zookeeper 3.4.7
在本机安装三个zookeeper,分别使用2181,2182,2183端口
localhost 2181
localhost 2182
localhost 2183
下载
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
参考
集群安装http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_zkMulitServerSetup
配置参数
http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_configuration
创建用户和目录
useradd zookeeper
passwd zookeeper
mkdir /tmp/zookeeper
mkdir /tmp/zookeeper/1
mkdir /tmp/zookeeper/2
mkdir /tmp/zookeeper/3
chown -R zookeeper:zookeeper /tmp/zookeeper
安装
su - zookeeper
tar -xf zookeeper-3.4.7.tar.gz
cd zookeeper-3.4.7
cd conf
mv zoo_sample.cfg zoo.cfg
复制程序
mv zookeeper-3.4.7 zookeeper347_01
cp -r zookeeper347_01 zookeeper347_02
cp -r zookeeper347_01 zookeeper347_03
修改配置文件
vi ~/zookeeper347_01/conf/zoo.cfg
tickTime=2000
dataDir=/tmp/zookeeper/1
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:2381:2281
server.2=localhost:2382:2282
server.3=localhost:2383:2283
vi ~/zookeeper347_02/conf/zoo.cfg
tickTime=2000
dataDir=/tmp/zookeeper/2
clientPort=2182
initLimit=5
syncLimit=2
server.1=localhost:2381:2281
server.2=localhost:2382:2282
server.3=localhost:2383:2283
vi ~/zookeeper347_03/conf/zoo.cfg
tickTime=2000
dataDir=/tmp/zookeeper/3
clientPort=2183
initLimit=5
syncLimit=2
server.1=localhost:2381:2281
server.2=localhost:2382:2282
server.3=localhost:2383:2283
创建myid文件
echo "1">/tmp/zookeeper/1/myid
echo "2">/tmp/zookeeper/2/myid
echo "3">/tmp/zookeeper/3/myid
说明:
server.x=[hostname]:nnnnn[:nnnnn]
x为server id,集群中需要在dataDir目录中创建myid文件,文件内空就是id,如server.1,我们需要echo “1”>/var/lib/zookeeper/myfile
hostname后面的两个端口表示:
从服务器与主服务器通信端口
服务器选举端口
防火墙
vim /etc/sysconfig/iptables在INPUT链中添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2182 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2183 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2281 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2282 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2283 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2381 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2382 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2383 -j ACCEPT
添加完成后重启防火墙
service iptables restart
启动测试
su - zookeeper
cd ~/zookeeper347_01/bin
./zkServer.sh start
cd ~/zookeeper347_02/bin
./zkServer.sh start
cd ~/zookeeper347_03/bin
./zkServer.sh start
启动完成后jps能看到3个QuorumPeerMain进程
客户端连接测试
查看服务状态
su - zookeeper
cd ~/zookeeper347_01/bin
./zkServer.sh status
或者
./zkCli.sh -server host:port