centos7 安装ZooKeeper3.4.9
1下载Zookeeper
地址:http://mirror.bit.edu.cn/apache/zookeeper/
2.1上载压缩文件并解压
这里使用的是CentOS7的操作系统。在opt目录下新建一个名为zookeeper的目录,将下载得到的zookeeper-3.4.9.tar.gz文件上载上去。
3,执行解压命令:
tar-zxvfzookeeper-3.4.9.tar.gz
4.创建数据和日志文件夹
$cd/usr/local/zookeeper-3.4.9
$mkdirdata
$mkdirlogs
5.将zookeeper目录下conf下的zoo_sample.cfg拷贝一份,命名为zoo.cfg
$cpzoo_sample.cfgzoo.cfg
6.修改zoo.cfg配置文件
$vizoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
7,启动zookeeper
进入到zookeeper的bin目录下,命令:
cd/opt/zookeeper/zookeeper-3.4.9/bin
执行zkServer.sh脚本进行启动,命令是:
./zkServer.shstart
停止服务命令是:
./zkServer.shstop
8,查看zookeeper的状态
如果此时不在zookeeper的bin目录下,先进入到该目录下:
cd/opt/zookeeper/zookeeper-3.4.9/bin
执行命令查看zookeeper状态:
./zkServer.shstatus
[root@test3bin]#./zkServer.shstatus
ZooKeeperJMXenabledbydefault
Usingconfig:/usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode:standalone
standalone是单机模式。
9,将ZooKeeper设置为开机启动(可选)
在init.d目录下新建脚本文件
进入到/etc/rc.d/init.d目录下,命令是:
cd/etc/rc.d/init.d
新建一个名为zookeeper的文件,命令是:
touchzookeeper
文件内容是:
#!/bin/bash
#chkconfig:23451090
#description:servicezookeeper
exportJAVA_HOME=/opt/java/jdk1.7.0_121
exportZOO_LOG_DIR=/opt/zookeeper/log
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.9
case"$1"in
start)suroot${ZOOKEEPER_HOME}/bin/zkServer.shstart;;
start-foreground)suroot${ZOOKEEPER_HOME}/bin/zkServer.shstart-foreground;;
stop)suroot${ZOOKEEPER_HOME}/bin/zkServer.shstop;;
status)suroot${ZOOKEEPER_HOME}/bin/zkServer.shstatus;;
restart)suroot${ZOOKEEPER_HOME}/bin/zkServer.shrestart;;
upgrade)suroot${ZOOKEEPER_HOME}/bin/zkServer.shupgrade;;
print-cmd)suroot${ZOOKEEPER_HOME}/bin/zkServer.shprint-cmd;;
*)echo"requirestart|start-foreground|stop|status|restart|print-cmd";;
esac
10,执行一系列命令
为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:
chmod+x/etc/rc.d/init.d/zookeeper
把zookeeper这个脚本添加到开机启动项里面,命令是:
chkconfig--addzookeeper
如果想看看是否添加成功,命令是:
chkconfig--list
11,执行测试看是否开机启动
使用命令重启机器,命令是:
reboot
方法一
查看zookeeper的状态
重启机器,然后不手动启动zookeeper的情况下,执行命令:
servicezookeeperstatus
方法二
查看2181端口是否启用,执行命令:
lsof-i:2181
方法三
查看网络状态,执行命令:
netstat-lntup
4报错及解决
4.1servicezookeeperdoesnotsupportchkconfig
执行chkconfig--addzookeeper报错:
servicezookeeperdoesnotsupportchkconfig
问题原因和解决:
/etc/rc.d/init.d/zookeeper脚本中头部没有添加下面这几句话(description可以随便写):
#!/bin/bash
#chkconfig:23451090
#description:servicezookeeper
4.2Errorcontactingservice.Itisprobablynotrunning
执行servicezookeeperstatus报错:
JMXenabledbydefault
Usingconfig:/opt/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
Errorcontactingservice.Itisprobablynotrunning.
问题原因和解决:
/etc/rc.d/init.d/zookeeper没有配置对,请看3.1.1和3.1.2的配置,里面必须要有exportJAVA_HOME这一句话,后面的路径是你自己的JDK安装路径
至于exportZOO_LOG_DIR=/opt/zookeeper/log这一句的话可有可无,意思是指定zookeeper的启动日志存放目录,如果该目录不存在,你必须手动创建一个。