centos8安裝zookeeper(單機方式)


一,下載zookeeper:

     1,官網地址

http://zookeeper.apache.org/

      找到這個地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/

 

    2,下載

[root@localhost liuhongdi]# cd /usr/local/source/
[root@localhost source]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz

 

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

         對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/

 說明:作者:劉宏締 郵箱: 371125307@qq.com

 

二,解壓

[root@localhost source]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
[root@localhost source]# mv apache-zookeeper-3.5.6-bin /usr/local/soft/

 

三,安裝

1,創建數據目錄:

[root@localhost source]# mkdir /data/data
[root@localhost source]# mkdir /data/data/zookeeper
[root@localhost source]# chmod 777 /data/data/zookeeper/

 

2,修改配置文件

[root@localhost soft]# cd apache-zookeeper-3.5.6-bin/
[root@localhost apache-zookeeper-3.5.6-bin]# cd conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
[root@localhost conf]# vi zoo.cfg
dataDir=/data/data/zookeeper
說明:dataDir=的值:是在配置文件中,指定要使用的數據目錄

3,把二進制命令的路徑加入系統path

[root@localhost conf]# vi /etc/profile

說明:在末尾增加以下命令:

export ZK_HOME=/usr/local/soft/apache-zookeeper-3.5.6-bin
export PATH=$ZK_HOME/bin:$PATH

修改完成之后,使配置起作用:

[root@localhost conf]# source /etc/profile

 

四,啟動和停止zookeeper

啟動

[root@localhost conf]# zkServer.sh start 

停止

[root@localhost conf]# zkServer.sh stop

 

五,增加systemd管理zookeeper功能

1,新建service文件

[root@localhost conf]# vi /etc/systemd/system/zookeeper.service

說明:service文件的內容:

[Unit]
Description=zookeeper.service
After=network.target
ConditionPathExists=/usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start
ExecStop=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh stop
[Install]
WantedBy=multi-user.target

 

2,直接使用systemctl啟動zookeeper會因找不到java的路徑報錯,

   我們需要手動修改zkEnv.sh文件:

[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh

 

編輯的內容:

添加如下一行
JAVA_HOME=/usr/local/soft/jdk-13.0.2
到此兩行上方即可:
ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."

 

3,測試systemctl的管理:

啟動

[root@localhost conf]# systemctl start zookeeper

停止

[root@localhost conf]# systemctl stop zookeeper

 

六,如何查看當前已安裝的zookeeper的版本?

[root@localhost conf]# echo stat|nc 127.0.0.1 2181
stat is not executed because it is not in the whitelist.

說明:需要解決上面這個報錯

[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh

編輯的內容:

找到:

else
 echo "JMX disabled by user request" >&2
 ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi

在上面這行fi下面添加:

ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

繼續測試

[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper
[root@localhost conf]# echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT
Clients:
 /127.0.0.1:41352[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 5

 

七,關閉zookeeper內置的管理器

  zookeeper內置有一個web管理器,默認使用8080端口,

  但這個版本的管理器不能正常訪問,

  我們可以避免啟動內置的管理器,也避免占用8080端口

   

[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg 
[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper

說明:在配置文件zoo.cfg中添加如下一行:

admin.enableServer=false

 

八,配置zookeeper的日志目錄:

1,創建日志目錄

[root@localhost conf]# mkdir /data/logs/zookeeperlogs
[root@localhost conf]# chmod 777 /data/logs/zookeeperlogs

 

2,在zkEnv.sh中定義日志的路徑

[root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh

 

說明:定義ZOO_LOG_DIR這個變量即可

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    #ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
    ZOO_LOG_DIR="/data/logs/zookeeperlogs"
fi

 

3,測試效果:

[root@localhost conf]# systemctl stop zookeeper
[root@localhost conf]# systemctl start zookeeper
[root@localhost conf]# ll /data/logs/zookeeperlogs/
總用量 8
-rw-r--r-- 1 root root 7649 2月  18 21:36 zookeeper-root-server-localhost.localdomain.out

 

九,查看本地centos的版本:

[root@localhost lib]# cat /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core) 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM