mkdir /opt/zookeeper #項目目錄 mkdir -p /data/zookeeper/zkdata #存放快照日誌 mkdir -p /data/zookeeper/zkdatalog #存放事物日誌
cd /opt/zookeeper/
事前下載好zookeeper-3.4.10.tar.gzvim
#解壓軟件 tar -zxvf zookeeper-3.4.10.tar.gz
cd /opt/zookeeper/zookeeper-3.4.10/conf服務器
cp zoo_sample.cfg zoo.cfgoop
vim zoo.cfg性能
修改 zoo.cfgrest
tickTime=2000
initLimit=10
syncLimit=5日誌
dataDir=/data/zookeeper/zkdata
dataLogDir=/data/zookeeper/zkdatalogserver
clientPort=2181進程
server.1=192.168.48.133:2888:3888
server.2=192.168.48.136:2888:3888
server.3=192.168.48.137:2888:3888hadoop
#tickTime:這個時間是做爲 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每一個 tickTime 時間就會發送一個心跳。 #initLimit: 這個配置項是用來配置 Zookeeper 接受客戶端(這裏所說的客戶端不是用戶鏈接 Zookeeper 服務器的客戶端,而是 Zookeeper 服務器集羣中鏈接到 Leader 的 Follower 服務器)初始化鏈接時最長能忍受多少個心跳時間間隔數。當已經超過 5個心跳的時間(也就是 tickTime)長度後 Zookeeper 服務器尚未收到客戶端的返回信息,那麼代表這個客戶端鏈接失敗。總的時間長度就是 5*2000=10 秒 #syncLimit: 這個配置項標識 Leader 與Follower 之間發送消息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是5*2000=10秒 #dataDir:快照日誌的存儲路徑 #dataLogDir:事物日誌的存儲路徑,若是不配置這個那麼事物日誌會默認存儲到dataDir制定的目錄,這樣會嚴重影響zk的性能,當zk吞吐量較大的時候,產生的事物日誌、快照日誌太多 #clientPort: 這個端口就是客戶端鏈接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。修改他的端口改大點 ,默認2181
建立myid文件 (這裏集羣實例安裝三臺)it
#server1 echo "1" > /data/zookeeper/zkdata/myid #server2 echo "2" > /data/zookeeper/zkdata/myid #server3 echo "3" > /data/zookeeper/zkdata/myid
cd /opt/zookeeper/zookeeper-3.4.10/bin
./zkServer.sh start | restart | stop #啓動服務(3臺都須要操做) ./zkServer.sh status #檢查服務器狀態 jps #查看zookper進程是否啓動
出現問題
JMX enabled by default
Using config: /hadoop/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
緣由是:防火牆沒關