zookeeper單機搭建虛擬分佈式環境

1.將安裝包解壓出來(可以通過wget或者本地下載上傳到服務器都可以)

tar -zxvf  apche-zookeeper-3.5.8-bin.tar.gz   解壓到當前目錄或者

tar -zxvf  apche-zookeeper-3.5.8-bin.tar.gz -C  xxxx指定目錄

2.解壓完。我們需要修改配置文件。

進入conf目錄下,將原先zoo_simple.cfg的名字改爲zoo.cfg即可

mv  zoo_simple.cfg  zoo.cfg

3.修改配置文件內容

搭建虛擬集羣需要注意。端口號不能重複,然後dataDir LogDir目錄不能重複,然後需要複製三分文件,可以命名其他名字,但是我們啓動的時候必須帶上以哪個配置文件參數啓動。然後還需要注意的是。我們必須要在定義的dataDir下的/data目錄裏面創建myid文件(echo 1 > myid)。這個1值對應下面的server.1 代表server id的。啓動三個實例的話。這三個id必須不一樣

4.配置文件都修改完畢後。我們接下來就直接帶配置文件啓動zk

進入zk的bin目錄使用  ./zkServer.sh start-foreground  ../myconf1/zoo.cfg  

-foreground參數是顯示報錯信息,比如啓動失敗時我們可以看到具體原因導致的。如果我們data目錄下沒有設置myid文件,就會報如下錯誤:

所以一定要設置好myid文件。

5.如何知道我啓動的哪個端口是leader機子呢。

我們使用./zkServer.sh status ../myconf/zoo.cfg   注意。因爲我們是一臺機子啓動的多個實例。所以必須帶下配置文件才知道哪一個實例對應的進程

6.啓動實例這裏注意一點。我們可以通過ps -aux | grep zookeeper  或者ps -ef | grep zookeeper查看zookeeper是否啓動。但是

因爲zk啓動參數過多不好看。我們可以直接通過查看端口號的命令來看zk是否啓動起來了

netstat -ntlp

可以看到2182 2183 的zk實例已經在監聽了。還有心跳端口2889 3889等也在監聽中

7.遠程連接可能因爲防火牆導致連接失敗。這時就需要開放端口號。我們可以先查看我們的端口號是否有開放

firewall-cmd --list-ports

增加某個TCP端口的開放

firewall-cmd --zone=public --add-port=2181/tcp --permanent        其中permanent表示永久開放,服務器重啓後依然有效

執行完之後,我們還需要重啓防火牆

firewall-cmd  --reload

 

8.虛擬集羣查看不同端口的服務狀態,需要指定配置文件的路徑

./zkServer.sh  status  ../conf/zoo.cfg

9.虛擬集羣連接不同端口的zk

./zkCli.sh  -server  ip:port

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章