分佈式Zookeeper安裝搭建詳解
寫在前面的話:我一直有個誤區,就是公司用不到的技術學了也白學。因爲個人在業餘時間會去學習和了解新技術,過一段時間就會遺忘,原因一是人對知識的記憶力會慢慢下降,二是技術這行沒有項目實戰驅動,學個錘子。說起來項目實戰,如果公司架構層技術棧低,那麼你也基本上沒有實戰的機會了,所以很可能你就是學了,然後搭建個demo,過一段時間也會遺忘。這個誤區還是比較危險的,爲了讓自己能夠高效去學習,選擇用博客來打筆記,一是方便平常查閱,二是讓自己有點輸出。
一. 下載
下載地址:https://www-eu.apache.org/dist/zookeeper/zookeeper-3.5.5/
二.安裝
解壓命令
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
三、配置文件修改
1.創建zookeeper目錄,在目錄下創建data目錄、logs目錄
2.vim修改配置文件vim /etc/hosts
,增加如下內容
保存後,執行 /etc/init.d/network restart
使配置文件 hosts生效
3.將/opt/apache-zookeeper-3.5.5-bin/conf
目錄下將文件夾下的zoo_sample.cfg
文件拷貝一份並命名爲zoo.cfg
,Zookeeper便可以識別到該文件。
4.修改配置文件
#發送心跳的間隔時間,單位:毫秒
tickTime=2000
#leader和follower初始化連接時最長能忍受多少個心跳時間的間隔數
initLimit=10
#leader和follower之間發送消息,請求和英達時間長度,最長不能超過多少個tickTime的時間長度
syncLimit=5
#zookeeper保存數據的目錄
dataDir=/opt/apache-zookeeper-3.5.5-bin/zookeeper/data
#日誌目錄
dataLogDir=/opt/apache-zookeeper-3.5.5-bin/zookeeper/logs
#端口
clientPort=2181
#啓動出現Unable to start AdminServer exiting abnormally因爲默認的8080端口被佔用,所以需要修改一下
admin.serverPort=8888
#zookeeper機器列表,server.order這裏的Order依據集羣的機器個數依次進行遞增,這裏的server1、server2、server3表示機器IP地址
server.1=server-1:2888:3888
5.進入data文件夾,創建myid文件,並輸入1,保存。對應配置文件裏面的server.order的order。
6.配置環境變量
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
執行source /etc/profile
生效
四、服務啓動
啓動服務
./zkServer.sh start
我用此方法啓動之後,查詢出錯
所以我用的是以下命令啓動,再打開一個shell窗口查看就對了,下面這種方式還可以查看啓動報錯日誌。
./zkServer.sh start-foreground
查看服務
./zkServer.sh status
打開客戶端
./zkCli.sh