Zookeeper單機安裝


Zookeeper安裝

安裝環境:

  1. 系統:centos7.6

  2. Java環境:JDK8

zookeeper安裝需要java環境,怎么配置請看

https://www.cnblogs.com/hsyw/p/13203495.html

1、下載zookeeper

wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz

2、安裝配置

#規划好安裝目錄,方便日后搭建集群
mkdir /app/zktst -p
#把剛剛下載的安裝包移動過來
mv apache-zookeeper-3.5.8-bin.tar.gz /app/zktst/
#解壓
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
#刪除安裝包,節省服務器磁盤空間
rm -rf apache-zookeeper-3.5.8-bin.tar.gz
#把/app/zktst/apache-zookeeper-3.5.8-bin移動到/app/zktst/
#再刪除問價夾/apache-zookeeper-3.5.8-bin
cd /app/zktst/apache-zookeeper-3.5.8-bin
mv ./* ../
rm -rf apache-zookeeper-3.5.8-bin

做完之后的目錄是這樣的:

3、啟動zookeeper准備

#新建兩個文件夾一個存數據,一個存日志
mkdir {data,logs}
#進到conf目錄,把zoo_sample.cfg 復制一份改名為zoo.cfg
cd conf/
cp zoo_sample.cfg zoo.cfg
#然后配置文件更改如下
[root@t1 conf]# grep -v ^"#" zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/app/zktst/data
dataLogDir=/app/zktst/logs
clientPort=2181

4、啟動

#啟動zookeeper,進去bin目錄
[root@t1 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /app/zktst/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#查看狀態
[root@t1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zktst/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone
#查看日志,進去logs目錄
[root@t1 logs]# tail -f zookeeper-root-server-t1.out
2020-06-28 17:09:30,705 [myid:] - INFO [main:ServerCnxnFactory@135] - Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory
2020-06-28 17:09:30,707 [myid:] - INFO [main:NIOServerCnxnFactory@673] - Configuring NIO connection handler with 10s sessionless connection timeout, 1 selector thread(s), 2 worker threads, and 64 kB direct buffers.
2020-06-28 17:09:30,709 [myid:] - INFO [main:NIOServerCnxnFactory@686] - binding to port 0.0.0.0/0.0.0.0:2181
2020-06-28 17:09:30,733 [myid:] - INFO [main:ZKDatabase@117] - zookeeper.snapshotSizeFactor = 0.33
2020-06-28 17:09:30,741 [myid:] - INFO [main:FileTxnSnapLog@404] - Snapshotting: 0x0 to /app/zktst/data/version-2/snapshot.0
2020-06-28 17:09:30,744 [myid:] - INFO [main:FileTxnSnapLog@404] - Snapshotting: 0x0 to /app/zktst/data/version-2/snapshot.0
2020-06-28 17:09:30,778 [myid:] - INFO [main:ContainerManager@64] - Using checkIntervalMs=60000 maxPerMinute=10000
2020-06-28 17:10:46,179 [myid:] - INFO [NIOWorkerThread-1:FourLetterCommands@234] - The list of known four letter word commands is : [{1936881266=srvr, 1937006964=stat, 2003003491=wchc, 1685417328=dump, 1668445044=crst, 1936880500=srst, 1701738089=envi, 1668247142=conf, -720899=telnet close, 2003003507=wchs, 2003003504=wchp, 1684632179=dirs, 1668247155=cons, 1835955314=mntr, 1769173615=isro, 1920298859=ruok, 1735683435=gtmk, 1937010027=stmk}]
2020-06-28 17:10:46,179 [myid:] - INFO [NIOWorkerThread-1:FourLetterCommands@235] - The list of enabled four letter word commands is : [[srvr]]
2020-06-28 17:10:46,180 [myid:] - INFO [NIOWorkerThread-1:NIOServerCnxn@518] - Processing srvr command from /127.0.0.1:50786
##日志無報錯說明zk已經安排成功

zoo.cfg文件參數詳解

tickTime這個時間是作為zookeeper服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是說每個tickTime時間就會發送一個心跳。
initLimit這個配置項是用來配置zookeeper接受客戶端(這里所說的客戶端不是用戶連接zookeeper服務器的客戶端,而是zookeeper服務器集群中連接到leader的follower 服務器)初始化連接時最長能忍受多少個心跳時間間隔數。
當已經超過10個心跳的時間(也就是tickTime)長度后 zookeeper 服務器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。總的時間長度就是 10*2000=20秒。
syncLimit這個配置項標識leader與follower之間發送消息,請求和應答時間長度,最長不能超過多少個

tickTime的時間長度,總的時間長度就是5*2000=10秒。

dataDir zookeeper保存數據的目錄,zookeeper將寫數據的日志文件也保存在這個目錄里;

logDir 日志文件目錄,記錄着zookeeper各種日志信息。

clientPort 默認端口號為2181

 


免責聲明!

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



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