實驗目的要求:
Zookeeper的完全分佈模式的安裝
Zookeeper服務能夠正常啓動和連接
Zookeeper控制檯能夠正常進入
Zookeeper控制檯命令能夠正常使用
實驗環境:
★ 五臺獨立虛擬機
★ 主機之間有效的網絡連接
★ 每臺主機內存2G以上,磁盤剩餘空間500M以上
★ 所有主機已安裝centOS7.4操作系統
★ 所有主機已完成網絡屬性配置
★ 所有主機已安裝jdk
軟件版本:
☛ 選用Zookeeper3.4.9版本,軟件報名zookeeper-3.4.9.tar.gz
集羣規劃:
☛ zookeeper採用投票算法要求其至少有3個以上的服務節點,服務節點總數爲奇數時配置最爲有效,本次試驗選取集羣內所有主機全部作爲服務節點,規劃如下:
主機名 IP地址 服務名稱
cgt-01 192.168.10.111 Zookeeper服務
cgt-02 192.168.10.112 Zookeeper服務
cgt-03 192.168.10.113 Zookeeper服務
cgt-04 192.168.10.114 Zookeeper服務
cgt-05 192.168.10.115 Zookeeper服務
實驗內容與完成情況
- zookeeper基本安裝配置
★此項所有操作在集羣中的admin用戶下進行
★此操作只需在一臺主機操作,其餘主機在下一步驟進行同步安裝配置
注:所需軟件安裝包zookeeper在此前jdk配置實驗中已使用xftp應用上傳至admin用戶家目錄的‘setups’目錄下。
- 創建用於存放zookeeper相關文件的目錄.
$mkdir ~/zookeeper
- 進入該目錄,解壓軟件包
$cd ~/zookeeper
$tar -xvf ~/setups/zookeeper-3.4.9.tar.gz
- 配置zookeeper環境變量
$vim ~/.bash_profile
對配置文件進行修改,在文末添加紅框之中的內容,該路徑以zookeeper軟件包實際解壓路徑爲準。
必須確保此項輸入正確,否則可能導致所有命令無法使用。
$source ~/.bash_profile #使配置的環境變量生效
$echo $ZOOKEEPER_HOME #打印環境變量,查看配置內容是否正確
$echo $PATH
- Zookeeper完全分佈模式配置
★此項所有操作在集羣用戶的admin進行
- 進入zookeeper文件,分別創建用於存放數據文件的目錄“data”和用於存放日誌文件的目錄“logs”。
- 進入zookeeper配置文件所在目錄
- 拷貝生成zookeeper的配置文件
&cp zoo_sample.cfg zoo.cfg
- 對配置文件進行修改
$vi zoo.cfg
以下配置項若已存在則修改其對應值,若不存在則在配置文件末尾進行添加。
三、同步安裝和配置
★此項所有操作在集羣用戶的admin進行
- 將“zookeeper”目錄和“.bash_profile”文件發給集羣中所有主機,發送目標用戶爲集羣專用用戶admin,目標路徑爲“/home/admin”即集羣用戶admin家目錄,然後每臺執行source ~/.bash_profile使環境變量生效。
①scp -r -/zookeeper ~/.bash_profile admin@cgt-01/home/admin
②source ~/.bash_profile(每臺都要執行)
- 打印新添加和修改的環境變量,檢查是否正確。
echo $ZOOKEEPER_HOME
echo $PATH
四、配置zookeeper節點標識文件
★此項所有操作在集羣用戶的admin進行
在集羣中所有主機使用命令“echo ‘*’> ~/zookeeper/data/myid”創建zookeeper的節點標識文件,其中“*”爲節點的編號,與配置文件server.*=cgt-01:2888:3888中“server.*”中的“*”相對應。
- zookeeper完全分佈模式啓動和驗證
★此項所有操作在集羣用戶的admin進行
- 進行操作前,在進入root用戶下,關閉防火牆
- 在集羣左右主機使用命令“zkServer.sh start”啓動Zookeeper服務的腳本,若結果顯示“STARTED”則表示啓動成功。
注:以上驗證截圖爲隨機截圖
- 在集羣中所有主機使用命令“jps”查看Java進程信息,若存在一個名爲“QuroumPeerMain”的進程,則表示Zookeeper服務啓動成功。
注:以上截圖在及羣衆隨機截取,經檢驗所有配置均成功
- 在集羣所有主機使用命令“zkServer.sh status”查看該節點Zookeeper服務當前的狀態,若集羣中只有一個“leader”節點,其餘的均爲“follower”節點,則集羣工作狀態正常,防火牆必須關閉,如果防火牆未關閉,狀態是Error contacting service,it is probably not runing
注:以上截圖在及羣衆隨機截取,cgt-03爲leader節點,經檢驗其餘爲follower節點
- 使用命令“zkClish -server cgt-*:2181”利用zookeeper的命令行工具連接zookeeper集羣,其中“*”爲集羣中節點的編號,可以選擇連接集羣中的任意一個節點,若顯示“CONNECTED”則表示連接正常,命令行工具可以正常使用,可以使用“quit”退出工具程序。
注:以上截圖在集羣中隨機截取,經檢驗所有配置均成功