分佈式技術 -- 六、Zookeeper多機集羣

    Hello,朋友們。我又來了。昨天由於博主的電腦出了點問題,致使沒更新文章。服務器

    此次帶了的是zookeeper的單機集羣,注意:是多機集羣!多機集羣!多機集羣!(其實多機集羣和單機集羣原理同樣的,只是配置ip地址不同而已!)tcp

    

    一塊兒學習,一塊兒進步。繼續沉澱,慢慢強大。但願這文章對您有幫助。如有寫的很差的地方,歡迎評論給建議哈!工具

    初寫博客不久,我是楊展浩。這是個人第八篇博客。加油!!!學習

 

    此次搭建單機集羣學習,閱讀的朋友們須要有安裝過zookeeper的操做沒安裝過zookeeper的朋友能夠點進去看一篇http://www.javashuo.com/article/p-zursgdal-gg.html,先動手操做一次。知道一個大概流程。開發工具

    接下來開始多機集羣的部署安裝以及相關的zookeeper客戶端命令使用:spa

    一、單機集羣部署安裝.net

        看過博主Zookeeper前兩篇的文章的朋友知道,博主是虛擬機VMware 上安裝Centos7系統進行學習zookeeper的。若是看這篇文章的朋友你有本身的學習服務器也是能夠的,直接上服務器操做一個樣。3d

        因爲以前博主的一篇zookeeper安裝講解文章中,已經安裝過一個Centos(裏面安裝了zookeeper以及zookeeper須要的jdk環境)。在這裏博主直接照葫蘆畫瓢,搞多兩個同樣的Centos,zookeeper安裝路徑什麼的同樣。code

        配置的jdk8環境變量,以及zookeeper的配置文件修改在這不詳細講解了,博主發表的zookeeper安裝文章中有詳細講解到。server

        接下來在zookeeper目錄中建立一個 myid 文件(該文件做用是用於服務器標識,也用做標記序號):

        

        建立 myid 文件,而且裏面輸入數字1,表示這是zookeeper集羣的1號服務。

        以此類推,分別在兩外兩臺服務器,建立 myid 文件,而且裏面分別輸入數字二、3。

            

        接下來在每一個服務器中的zookeeper的配置文件中zoo.cfg配置集羣:

# zookeeper集羣
        server.1=192.168.100.72:2888:3888
        server.2=192.168.100.73:2888:3888
        server.3=192.168.100.74:2888:3888

        
       

在此講解zookeeper的集羣配置方式:

        模版:server.A=B:C:D   例子:server.1=192.168.100.72:2888:3888

        A是一個數字,表示的是第幾號服務器。在zkData目錄中建立了一個myid文件,裏面填寫的數字與這裏的數字是對應的。

        B是服務器的ip地址。

        C是服務器zookeeper服務集羣中的 Leader 服務與 Flower 服務交換信息的端口。(通俗點就是:主從之間的數據同步)。

        D是萬一zookeeper集羣中的 Leader 服務器掛了,須要一個端口來從新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通訊的端口。。

另外注意一點:Leader服務與Flower服務同步信息的端口、從新選舉的端口須要確認下是否已經開啓。

    相關命令:

    查詢端口是否有開啓:firewall-cmd --query-port=端口號/tcp

    開啓端口:firewall-cmd --zone=public --add-port=端口號/tcp --permanent

    

    到這裏,zookeeper集羣的搭建以及配置就搞完了。

    

    接下來就是,集羣啓動,客戶端鏈接操做相關命令!!!(命令很少,不怕)

    啓動第一個集羣的時候,用查看狀態命令查看集羣狀況會發現一個提示信息:Error contacting service. It is probably not running.

    這表示當前zookeeper集羣中只有一個zookeeper服務啓動,達到半數以上(配置文件配置了三個服務,半數以上就是兩臺)。

    接下來啓動第二臺服務器中的zookeeper服務,再查看狀態,發現當前zookeeper服務成爲了Leader,第一臺啓動的zookeeper服務成爲了follower。

    博主以前講解的zookeeper集羣原理時候,當有一臺服務器的zookeeper服務成爲了Leader後,後面加入集羣的zookeeper服務都會成爲follower。

   

    集羣啓動成功!接下來客戶端鏈接,相關zookeeper客戶端命令操做簡介:

    命令演示操做就直接貼圖配文字啦!!!    

 

 

 

最後附上一個zookeeper客戶端的操做命令表格:

命令基本語法 功能描述
help 顯示全部的操做命令幫助
ls path [watch]         查看path下的ZNode集合
ls2 path [watch] 查看當前節點數據而且能看到更新次數等數據   
create 節點名稱 新值

建立節點ZNode,注意建立時候須要給節點賦值          

options:-s 建立節點帶有編號的

-e 建立臨時節點(當客戶端退出再進去建立的節點就不存在了)

get path [watch] 獲取指定節點ZNode的值
set path 新值 修改指定節點ZNode的值
stat 節點名稱                  查看指定節點ZNode的結構
delete 節點名稱 刪除指定的節點ZNode
rmr 節點名稱     遞歸刪除節點ZNode

 

下一篇預告:使用開發工具開發zookeeper提供的API

相關文章
相關標籤/搜索