002-zookeeper 基本配置、安裝啟動 windows環境
一. 概述
ZooKeeper是Hadoop的正式子項目,它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
二、安裝使用
2.1、下載
地址:https://mirrors.cnnic.cn/apache/zookeeper/
2.2、Windows下安裝
1》把下載的zookeeper的文件解壓到指定目錄:D:\developToool\zookeeper-3.4.11
2》修改conf下增加一個zoo.cfg,內容如下:
zookeeper的默認配置文件為zookeeper/conf/zoo_sample.cfg,需要將其修改為zoo.cfg。其中各配置項的含義,解釋如下:
# 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 anacknowledgement syncLimit=5 # the directory where the snapshot isstored. //鏡像數據位置 dataDir=D:\\zookeeper #日誌位置 dataLogDir=D:\\zookeeper\\logs
# the port at which the clients willconnect 客戶端連接的端口 clientPort=2181
註:如果啟動有報錯提示cfg文件有錯誤,可以用zoo_sample.cfg內內容替代也是可以的
1.tickTime:CS通信心跳時間(cs: client serve)
Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。tickTime以毫秒為單位。
2.initLimit:LF初始通信時限
集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)。
initLimit=5,
3.syncLimit:LF同步通信時限
集群中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。
syncLimit=2
4.dataDir:數據文件目錄 myid 也放這裏
Zookeeper保存數據的目錄,默認情況下,Zookeeper將寫數據的日誌文件也保存在這個目錄裏。
dataDir=/home/michael/opt/zookeeper/data
5.clientPort:客戶端連接端口
客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
clientPort=2181
6.服務器名稱與地址:集群信息(服務器編號,服務器地址,LF通信端口,選舉端口)
規則如下:server.N=YYY:A:B
其中N 是一個數字,表示這個是第幾號服務器;
YYY 是這個服務器的 ip 地址;
A 表示的是這個服務器與集群中的 Leader 服務器交換信息的端口;
B 表示的是萬一集群中的 Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。如果是偽集群的配置方式,由於 YYY 都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
2.3、啟動服務端
進入到bin目錄,並且啟動zkServer.cmd,這個腳本中會啟動一個java進程
D:\developToool\zookeeper-3.4.11>cd bin D:\developToool\zookeeper-3.4.11\bin>zkServer.cmd
啟動後jps可以看到QuorumPeerMain的進程
2.4、啟動客戶端運行查看一下
zkCli.cmd -server 127.0.0.1:2181
三、偽集群
在上述能配置基礎上
3.1、CMD配置
將zkServer.cmd復制為:zkServer-1.cmd
在對應的zkServer-1.cmd文件中添加
set ZOOCFG=..\conf\zoo1.cfg
zkServer-2.cmd、zkServer-3.cmd依次類推
set ZOOCFG=..\conf\zoo2.cfg
set ZOOCFG=..\conf\zoo3.cfg
3.2、cfg配置
將原來zoo.cfg復制為zoo1.cfg
dataDir=D:\\zookeeper\\1 clientPort=2181 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889
同時配置:zoo2.cfg、zoo3.cfg
dataDir=D:\\zookeeper\\2 clientPort=2182 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889
dataDir=D:\\zookeeper\\3 clientPort=2183 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889
3.3、增加myid
還需要 在對應的:D:\\zookeeper\\1,D:\\zookeeper\\2,D:\\zookeeper\\3
建立一個文本文件命名為myid,內容就為對應的zoo.cfg裏server.後數字
啟動zkServer1.cmd、zkServer2.cmd、zkServer3.cmd即可。
002-zookeeper 基本配置、安裝啟動 windows環境