centos7安裝zookeeper單機版


參考 https://blog.csdn.net/u011781521/article/details/75948883

 

1.ZooKeeper是用Java編寫的,運行在Java環境上,這里需要jdk環境 

    可參考 https://www.cnblogs.com/zk1023/p/11687510.html

2.下載ZooKeeper

 

[root@zsls ~]# cd /usr/local/src/

[root@zsls src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.14.tar.gz

目前的最新版本3.5.5開始,帶有bin名稱的包才是我們想要的下載可以直接使用的里面有編譯后的二進制的包,而之前的普通的tar.gz的包里面是只是源碼的包無法直接使用

若果版本選擇的是3.5.5之后 使用帶bin的 例如  wget https://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz

3.解壓文件

[root@zsls src]# tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
4.配置zookeeper

[root@zsls src]# cd ../zookeeper-3.4.14/
[root@zsls zookeeper-3.4.14]# ls

在zookeeper目錄下創建以下目錄

[root@zsls zookeeper-3.4.14]# mkdir data
[root@zsls zookeeper-3.4.14]# mkdir logs

將zookeeper-3.4.14/conf目錄下的zoo_sample.cfg文件拷貝一份,命名為zoo.cfg

[root@zsls zookeeper-3.4.14]# cd conf/

[root@zsls conf]# cp zoo_sample.cfg zoo.cfg 

[root@zsls conf]# vim zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/zookeeper-3.4.14/data
dataLogDir=/usr/local/zookeeper-3.4.14/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
server.1=192.168.93.140:2888:3888

===========================================

其中:
2888端口號是zookeeper服務之間通信的端口。
3888是zookeeper與其他應用程序通信的端口

然后在dataDir=/usr/local/zookeeper-3.4.14/data下創建myid文件(編輯myid文件,並在對應的IP的機器上輸入對應的編號。如在zookeeper上,myid 文件內容就是1。如果只在單點上進行安裝配置,那么只有一個server.1)

[root@zsls data]# vim myid
[root@zsls data]# cat myid
1
[root@zsls data]#

5.端口開通防火牆

[root@zsls data]# sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent

[root@zsls data]# sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
[root@zsls data]# sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent

[root@zsls data]#sudo firewall-cmd --reload

6.測試zookeeper

啟動並測試zookeeper

[root@zsls bin]# pwd
/usr/local/zookeeper-3.4.14/bin

[root@zsls bin]# ./zkServer.sh start

查看進程

[root@zsls bin]# jps
10496 Jps
10479 QuorumPeerMain   #其中,QuorumPeerMain是zookeeper進程,啟動正常

查看狀態

[root@zsls bin]# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone

服務器輸出信息

[root@zsls logs]# tail -1000f zookeeper.out

停止zookeeper進程

[root@zsls bin]# sh zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

7.設置zookeeper服務開機啟動


# 切換到/etc/rc.d/init.d/目錄下
cd /etc/rc.d/init.d

# 創建zookeeper文件
touch zookeeper

#更新權限
chmod +x zookeeper

#編輯文件,在zookeeper里面輸入如下內容

#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/local/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
case $1 in
start)su root /usr/local/zookeeper-3.4.14/bin/zkServer.sh start;;
stop)su root /usr/local/zookeeper-3.4.14/bin/zkServer.sh stop;;
status)su root /usr/local/zookeeper-3.4.14/bin/zkServer.sh status;;
restart)su root /usr/local/zookeeper-3.4.14/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac

====================================================

示例,zookeeper的前三行如下:
#!/bin/sh
#chkconfig: 2345 20 90
#description:zookeeper
第一行,告訴系統使用的shell,所以的shell腳本都是這樣。
第二行,chkconfig后面有三個參數2345,80和90告訴chkconfig程序,需要在rc2.d~rc5.d目錄下,創建名字為 S20zookeeper的文件連接,連接到/etc/rc.d/init.d目錄下的的zookeeper腳本。第一個字符是S,系統在啟動的時候,運行腳本zookeeper,就會添加一個start參數,告訴腳本,現在是啟動模式。同時在rc0.d和rc6.d目錄下,創建名字為K90zookeeper的文件連接,第一個字符為K,系統在關閉系統的時候,會運行zookeeper,添加一個stop,告訴腳本,現在是關閉模式。
注意上面的三行中,第二,第三行是必須的,否則在運行chkconfig --add zookeeper時,會報錯。

=====================================================================

然后我們就可以用service zookeeper start/stop來啟動停止zookeeper服務了

使用命令把zookeeper添加到開機啟動里面

[root@zsls init.d]# chkconfig zookeeper on
[root@zsls init.d]# chkconfig --add zookeeper

添加完成之后接這個使用chkconfig --list 來看看我們添加的zookeeper是否在里面

 


免責聲明!

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



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