首先创建 zookeeper 文件夹
mkdir -p /usr/local/zookeeper
下载zookeeper压缩包
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
把zookeeper包解压到zookeeper目录下
tar -zxvf zookeeper-3.4.10.tar.gz -C
进入 /usr/local/zookeeper/zookeeper-3.4.10/conf目录
cd /usr/local/zookeeper/zookeeper-3.4.10/conf
把 /usr/local/zookeeper/zookeeper-3.4.10/conf 目录下的 zoo_sample.cfg 文件赋值一份,并且重命名为 zoo.cfg,
cp zoo_sample.cfg zoo.cfg
这个zoo.cfg是zookeeper的配置文件,这里我搭的是单机版,如果想搭集群版也是通过修改配置文件即可。
修改 zoo.cfg
进入到zookeeper的bin目录
cd /usr/local/zookeeper/zookeeper-3.4.10/bin
启动zookeeper
./zkServer.sh start
结果如下图
查看zookeeper的状态
如果此时不在zookeeper的bin 目录下,先进入到该目录下:
cd /usr/local/zookeeper/zookeeper-3.4.10/bin
执行命令查看zookeeper状态:
./zkServer.sh status
如图:
standalone 是单机模式。
将ZooKeeper设置为开机启动
在init.d目录下新建脚本文件
进入到/etc/rc.d/init.d目录下,命令是:
cd /etc/rc.d/init.d
新建一个名为zookeeper的文件,命令是:
touch zookeeper
在zookeeper里面编辑如下内容(注意对应自己的文件目录)
vim zookeeper
#!/bin/bash
#chkconfig: 2345 10 90
#description: service zookeeper
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export ZOO_LOG_DIR=/usr/local/zookeeper/zookeeper-3.4.10/logs
ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.10
su root ${ZOOKEEPER_HOME}/bin/zkServer.sh "$1"
执行一系列命令
为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper这个脚本添加到开机启动项里面,命令是:
chkconfig --add zookeeper
如图:
如果想看看是否添加成功,命令是:
chkconfig --list
执行测试看是否开机启动
使用命令重启机器,命令是:
reboot
查看zookeeper的状态
重启机器,然后不手动启动zookeeper的情况下,执行命令:
service zookeeper status
报错及解决
service zookeeper does not support chkconfig
执行chkconfig --add zookeeper报错:
servicezookeeper does not support chkconfig
问题原因和解决:
/etc/rc.d/init.d/ zookeeper脚本中头部没有添加下面这几句话(description可以随便写):
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
Error contacting service. It is probably not running
执行service zookeeper status报错:
JMX enabled by default
Usingconfig: /opt/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Errorcontacting service. It is probably not running.
问题原因和解决:
/etc/rc.d/init.d/ zookeeper没有配置对,请看3.1.1和3.1.2的配置,里面必须要有export JAVA_HOME这一句话,后面的路径是你自己的JDK安装路径。
至于export ZOO_LOG_DIR=/opt/zookeeper/log这一句的话可有可无,意思是指定zookeeper的启动日志存放目录,如果该目录不存在,你必须手动创建一个。