【Zookeeper】本地模式安裝

安裝步驟

上傳gz包

經過rz命令,將zookeeper-3.4.10.tar.gz安裝包上傳到/opt/soft/文件夾下。java

[root@bigdata111 soft]# rz
[root@bigdata111 soft]# ls
hadoop-2.8.4.tar.gz  jdk-8u144-linux-x64.tar.gz  zookeeper-3.4.10.tar.gz

解壓包

經過tar命令解壓zookeeper到/opt/module/目錄下。linux

[root@bigdata111 soft]# tar -zvxf zookeeper-3.4.10.tar.gz -C /opt/module/
[root@bigdata111 soft]# cd /opt/module/
[root@bigdata111 module]# ls
hadoop-2.8.4  jdk1.8.0_144  zookeeper-3.4.10

新建zkData目錄

在zookeeper的解壓目錄下新建zkData文件夾,用於數據文件目錄+數據持久化路徑。shell

[root@bigdata111 module]# cd zookeeper-3.4.10/
[root@bigdata111 zookeeper-3.4.10]# mkdir zkData
[root@bigdata111 zookeeper-3.4.10]# ls
bin  build.xml  conf  contrib  dist-maven  docs  ivysettings.xml  ivy.xml  lib  LICENSE.txt  NOTICE.txt  README_packaging.txt  README.txt  recipes  src  zkData  zookeeper-3.4.10.jar  zookeeper-3.4.10.jar.asc  zookeeper-3.4.10.jar.md5  zookeeper-3.4.10.jar.sha1

修改默認文件名

切換至zookeeper的conf目錄下,修改zoo_sample.cfg爲默認識別的zoo.cfg配置文件。數據庫

[root@bigdata111 module]# cd zookeeper-3.4.10/conf
[root@bigdata111 conf]# ll
總用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo_sample.cfg
[root@bigdata111 conf]# mv zoo_sample.cfg zoo.cfg
[root@bigdata111 conf]# ll
總用量 12
-rw-rw-r--. 1 1001 1001  535 3月  23 2017 configuration.xsl
-rw-rw-r--. 1 1001 1001 2161 3月  23 2017 log4j.properties
-rw-rw-r--. 1 1001 1001  922 3月  23 2017 zoo.cfg

配置修改

配置zookeeper的zoo.cfg文件,保存並退出。apache

[root@bigdata111 conf]# vi zoo.cfg

將其中的dataDir值修改以下:api

dataDir=/opt//module/zookeeper-3.4.10/zkData

配置環境變量

執行vi命令服務器

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

在/etc/profile文件內容末尾添加以下內容,配置完畢,保存退出。session

export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin

刷新profile配置文件socket

[root@bigdata111 zookeeper-3.4.10]# source /etc/profile

啓動zk服務端

啓動zk服務端,查看進程是否啓動(QuorumPeerMain進程爲zookeeper的server),查看zkServer的狀態。maven

[root@bigdata111 zookeeper-3.4.10]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@bigdata111 zookeeper-3.4.10]# jps
2817 NodeManager
2565 DataNode
3014 QuorumPeerMain
2426 NameNode
3034 Jps
[root@bigdata111 zookeeper-3.4.10]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone

啓動zk客戶端

[root@bigdata111 zookeeper-3.4.10]# zkCli.sh
Connecting to localhost:2181
2019-09-01 00:00:07,411 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2019-09-01 00:00:07,413 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=bigdata111
2019-09-01 00:00:07,413 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_144
2019-09-01 00:00:07,423 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2019-09-01 00:00:07,423 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/opt/module/jdk1.8.0_144/jre
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/opt/module/zookeeper-3.4.10/bin/../build/classes:/opt/module/zookeeper-3.4.10/bin/../build/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/opt/module/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/opt/module/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/opt/module/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/opt/module/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../conf:
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-327.el7.x86_64
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2019-09-01 00:00:07,424 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/opt/module/zookeeper-3.4.10
2019-09-01 00:00:07,425 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5c29bfd
2019-09-01 00:00:07,467 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2019-09-01 00:00:07,559 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@876] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2019-09-01 00:00:07,588 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x16ce86366fb0000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]

查看zk節點

使用ls 查看 / 根目錄,只用ls不會輸出內容。

[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]

退出客戶端

[zk: localhost:2181(CONNECTED) 0] quit
Quitting...
2019-09-01 00:01:10,945 [myid:] - INFO  [main:ZooKeeper@684] - Session: 0x16ce86366fb0000 closed
2019-09-01 00:01:10,947 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@519] - EventThread shut down for session: 0x16ce86366fb0000

中止Zookeeper

[root@bigdata111 zookeeper-3.4.10]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

配置參數解讀

tickTime

tickTime=2000:通訊心跳數,Zookeeper服務器心跳時間,單位毫秒

Zookeeper使用的基本時間,服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每一個tickTime時間就會發送一個心跳,時間單位爲毫秒。

它用於心跳機制,而且設置最小的session超時時間爲兩倍心跳時間。(session的最小超時時間是2*tickTime)

initLimit

initLimit=10:Leader和Follower初始通訊時限

集羣中的follower跟隨者服務器與leader領導者服務器之間初始鏈接時能容忍的最多心跳數(tickTime的數量),用它來限定集羣中的Zookeeper服務器鏈接到Leader的時限。

投票選舉新leader的初始化時間

Follower在啓動過程當中,會從Leader同步全部最新數據,而後肯定本身可以對外服務的起始狀態。

Leader容許Follower在initLimit時間內完成這個工做。

syncLimit

syncLimit=5:Leader和Follower同步通訊時限

集羣中Leader與Follower之間的最大響應時間單位,假如響應超過syncLimit * tickTime,Leader認爲Follwer死掉,從服務器列表中刪除Follwer。

在運行過程當中,Leader負責與ZK集羣中全部機器進行通訊,例如經過一些心跳檢測機制,來檢測機器的存活狀態。

若是L發出心跳包在syncLimit以後,尚未從F那收到響應,那麼就認爲這個F已經不在線了。

dataDir

dataDir:數據文件目錄+數據持久化路徑

保存內存數據庫快照信息的位置,若是沒有其餘說明,更新的事務日誌也保存到數據庫。

clientPort

clientPort=2181:客戶端鏈接端口

監聽客戶端鏈接的端口

相關文章
相關標籤/搜索