本文主要介绍如何在Centos7下安装zookeeper以及如何使用。
- 安装JDK
- 下载安装zookeeper
- 启动zookeeper
- 设置zookeeper开机自动启动
一、安装JDK
使用zookeeper前,必须先安装JDK,如何安装JDK,可以查看:Linux 安装JDK 教程
二、下载安装zookeeper
2.1 通过官网下载:Apache Download Mirrors。本文中使用3.7.0版本。
// 进入下载目录并下载
cd /usr/local/
mkdir zookeeper
cd zookeeper
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
注意:没有bin的是zk的源码包,可以看到也是maven项目,是需要编译打包才能使用
如果下载的不是bin包,执行启动命令 zkServer.sh start
zkServer启动失败,查看zk的日志文件,报如下错误:
Error:Could not find or Load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
因此,需要下载bin包方可启动成功。
2.2 解压
// 解压
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
2.3 修改配置文件
// 1.进入配置文件目录 cd apache-zookeeper-3.7.0-bin/conf // 2.将zoo_sample.cfg这个文件复制为zoo.cfg (注意:文件名一定要是zoo.cfg)
cp zoo_sample.cfg zoo.cfg
// 3.修改配置文件
vim zoo.cfg
修改zoo.cfg,修改前:
修改后:
注意:数据存放目录data由自己决定,但是启动服务前一定要确保对应的目录存在,不然启动会失败
2.4 创建data文件夹
// 创建data目录 [root@localhost conf]# cd ../ [root@localhost apache-zookeeper-3.7.0-bin]# pwd /usr/local/zookeeper/apache-zookeeper-3.7.0-bin [root@localhost apache-zookeeper-3.7.0-bin]# mkdir data [root@localhost apache-zookeeper-3.7.0-bin]# ll 总用量 44 drwxr-xr-x. 2 1000 1000 4096 3月 17 2021 bin drwxr-xr-x. 2 1000 1000 4096 12月 28 18:09 conf drwxr-xr-x. 2 root root 4096 12月 28 18:09 data drwxr-xr-x. 5 1000 1000 4096 3月 17 2021 docs drwxr-xr-x. 2 root root 4096 12月 28 18:04 lib -rw-r--r--. 1 1000 1000 11358 3月 17 2021 LICENSE.txt -rw-r--r--. 1 1000 1000 432 3月 17 2021 NOTICE.txt -rw-r--r--. 1 1000 1000 2214 3月 17 2021 README.md -rw-r--r--. 1 1000 1000 3570 3月 17 2021 README_packaging.md [root@localhost apache-zookeeper-3.7.0-bin]#
三、启动zookeeper
3.1 进入zookeeper下的bin目录
cd /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin
3.2 执行启动命令
./zkServer.sh start
启动成功后如下:
除了开启,再备注几个其他命令:
// 停止 ./zkServer.sh stop // 重启 ./zkServer.sh restart // 查看状态 ./zkServer.sh status
虽然这样可以正常启动,但是每次都要进入到zookeeper的bin目录下,为了避免麻烦,可以将zookeeper设置开机启动
四、设置zookeeper开机自动启动
centos7
4.1 切换到/lib/systemd/system/目录,创建自启动文件
cd /lib/systemd/system/ vim zookeeper.service
文件内容如下:
[Unit]
Description=zookeeperservice
After=network.target
[Service]
WorkingDirectory=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin #zookeeper路径
ExecStart=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start #zookeeper执行文件
User=root
Group=root
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
注意:zookeeper的路径需要修改成自己的!
重新加载配置信息:
systemctl daemon-reload
4.2 设置自启动
systemctl enable zookeeper.service
4.3 启动服务
systemctl start zookeeper.service
4.4 查看启动状态
systemctl status zookeeper.service
4.5 自启动相关命令
重新加载配置信息:systemctl daemon-reload
启动zookeeper:systemctl start zookeeper.service
关掉zookeeper:systemctl stop zookeeper.service
查看进程状态及日志:systemctl status zookeeper.service
开机自启动:systemctl enable zookeeper.service
关闭自启动:systemctl disable zookeeper.service
centos6
第一种:修改vim /etc/rc.local文件
vim /etc/rc.local
加入:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281 -- jdk安装路径 /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start -- zookeeper安装路径
重启后生效。
第二种:建立zookeeper服务
1、进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本
vim /etc/init.d/zookeeper
加入:
注意替换JAVA_HOME目录以及zookeeper安装目录
#!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281 case $1 in start) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start;; stop) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop;; status) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status;; restart) su /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac
2、添加执行权限
chmod +x /etc/init.d/zookeeper
3、service zookeeper start/stop/status命令启动、停止或查看状态
-- 启动 service zookeeper start -- 停止 service zookeeper stop-- 状态 service zookeeper status
4、添加到开机自启
chkconfig --add zookeeper
开机自启配置好了,重启一下试试,如下所示:
-- 重启 reboot -- 检查是否开机自启动 service zookeeper status
至此,在Linux下安装zookeeper就完成了!