本文主要介紹如何在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就完成了!