1下载Zookeeper
http://mirror.bit.edu.cn/apache/zookeeper/
http://mirror.bit.edu.cn/apache/zookeeper/stable/wwget
wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz
tar zxvfzookeeper-3.4.12.tar.gz
mv zookeeper-3.4.12 zookeeper
cd zookeeper
ll
cpzookeeper-3.4.12/conf/zoo_sample.cfg zookeeper-3.4.12/conf/zoo.cfg
cd zookeeper-3.4.12/bin/
./zkServer.sh start
执行命令查看zookeeper状态:
./zkServer.sh status
3将ZooKeeper设置为开机启动(可选)
3.1在init.d目录下新建脚本文件
进入到/etc/rc.d/init.d目录下,命令是:
cd /etc/rc.d/init.d
新建一个名为zookeeper的文件,命令是:
touch zookeeper
脚本内容如下:
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
export JAVA_HOME=//usr/local/java/jdk1.8.0_171
export ZOO_LOG_DIR=/opt/zookeeper/log
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.12
case "$1" in
start) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;
stop) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
status) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;
restart) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
upgrade)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;
print-cmd)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
*) echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
esac
3.2 执行一系列命令
为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper这个脚本添加到开机启动项里面,命令是:
chkconfig --add zookeeper
如果想看看是否添加成功,命令是:
chkconfig --list
如图:
查看相关操作如图
3.3执行测试看是否开机启动
使用命令重启机器,命令是: reboot
方法一
查看zookeeper的状态 重启机器,然后不手动启动zookeeper的情况下,执行命令:
service zookeeper status
方法二
查看2181端口是否启用,执行命令: lsof -i:2181
方法三
查看网络状态,执行命令: netstat -lntup
查看zookeeper服务的状态
上面是讲述的如何搭建一个单机版的zookeeper注册中心,下面我们开始讲解搭建zookeeper集群
首选我们准备了两台机器,内网IP如下:
192.168.0.12 master
192.168.1.13 slave1
下面我们修改hosts文件添加映射,修改主机名 vim /etc/hosts ,在hosts文件中添加一下两项
进入zookeeper目录,创建文件夹data,进入data,创建文件myid,20和21里面的myid分别写入 1和2
进入conf目录,有一份配置文件模板,复制一份,名称为zoo.cfg,修改zoo.cfg,内容如下
dataDir=/opt/soft/zookeeper-3.4.5/data (刚创建的data目录)
clientPort=2181
initLimit=10
syncLimit=5
tickTime=2000
server.1=master:2888:3888
server.2=slave1:2888:3888
进入到ZooKeeper的客户端命令行下面,执行 ls /,会输出 [zookeeper],这时候创建一个节点 create /test,然后再查看 get /test,打印一下信息
关闭防火墙(如果没关闭防火墙,在启动之后,会一直报错);
执行命令:bin/zkServer.sh start conf/zoo.cfg,分别启动ZooKeeper
然后:tail -300f zookeeper.out 查看输出的内容,如果没报错,说明启动成功;
再接下来查看集群是搭建成功:
执行:bin/zkCli.sh -server master:2181 (master和slave1,随便选择一个)
进入到ZooKeeper的客户端命令行下面,执行 ls /,会输出 [zookeeper],这时候创建一个节点 create /test,然后再查看 get /test,打印一下信息
再切换到另外一个IP,在执行执行:bin/zkCli.sh -server master:2181 ,再 ls / 查看,就可以看到刚刚在另外一台机器上创建的节点test。
查看zookeeper进程状态
bin/zkServer.sh status
Using config: /opt/soft/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower //角色
jps
3220 Jps
2813 QuorumPeerMain //zookeeper进程名
以上都通过,说明ZooKeeper集群搭建成功!