一 、ZooKeeper安装配置
1、zookeeper3.4.10 下载地址
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/
2、三台服务器名称
192.168.20.86 master
192.168.20.32 slave1
192.168.20.124 slave2
3、具体安装配置
1).在主节点192.168.20.86的/usr/tools/zookeeper路径下解压zookeeper压缩文件: tar -zxvf zookeeper-3.4.10.tar.gz
2).配置环境变量:vim /etc/profile
##ZOOKEEPER
export ZOOKEEPER_HOME=/usr/tools/zookeeper/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
3).使修改生效:
source /etc/profile
4).在zookeeper3.4.10的conf目录下面,新增一个zoo.cfg文件
cp zoo_sample.cfg zoo.cfg
修改:
dataDir=/usr/tools/zookeeper/zookeeper-3.4.10/data
dataLogDir=/usr/tools/zookeeper/zookeeper-3.4.10/logs
底部添加:
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
说明:2888表示zk程序监听端口,3888表示zk选举通信端口。
5).配置完以后将上述内容全部拷贝到另外两台服务的相同位置
scp -r /usr/tools/zookeeper root@slave1:/usr/tools
scp -r /usr/tools/zookeeper root@slave2:/usr/tools
/etc/profile环境变量也可以用scp来完成,或者可以手动修改成一致。
6).三台机器下面的zookeeper/zookeeper-3.4.10/data目录里面各自建一个myid的文件:
mkdir data
touch myid
然后不同服务器的myid文件里面分别填上0、1、2:
如master是server.0,里面的数字是0
slave1是server.1,里面的数字是1
slave2是server.2,里面的数字是2
7).三台分别启动zookeeper(切记此时防火墙是关闭的)
启动:zkServer.sh start
查看状态:zkServer.sh status
关闭:zkServer.sh stop
8).验证。启动之后使用jps查看:
QuorumPeerMain
9).脚本启动或停止:/usr/tools/zookeeper/zookeeper-3.4.10/bin
启动:./start-all-zk.sh
#!/bin/bash
ZOOKEEPER_HOME=/usr/tools/zookeeper/zookeeper-3.4.10
if [ $ZOOKEEPER_HOME != "" ]; then
ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
SLAVES=$(cat "$ZOOCFG" | sed '/^server/!d;s/^.*=//;s/:.*$//g;/^$/d')
for s in $SLAVES
do
echo "INFO:starting zookeeper on ${s}"
ssh $s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh start"
if [ $? != 0 ];
then
echo "Can not starting zookeeper server on host $s}"
exit 1
fi
done
fi
停止:./stop-all-zk.sh
#!/bin/bash
ZOOKEEPER_HOME=/usr/tools/zookeeper/zookeeper-3.4.10
if [ $ZOOKEEPER_HOME != "" ]; then
ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg
SLAVES=$(cat "$ZOOCFG" | sed '/^server/!d;s/^.*=//;s/:.*$//g;/^$/d')
for s in $SLAVES
do
echo "INFO:stopping zookeeper on ${s}"
ssh $s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh stop"
if [ $? != 0 ];
then
echo "Can not stopping zookeeper server on host $s}"
exit 1
fi
done
fi