Zookeeper集羣的介紹與安裝
本文是上一篇文章的後續,詳情點擊該鏈接
集羣中的角色主要有三種:領導者,學習者和客戶端
領導者(Leader):
領導者負責進行投票的發起和決議,更新系統狀態。
學習者
學習者的話呢,又分爲兩種:一種是跟隨者,一種是觀察者~
跟隨者(Follower)
Follower用於接收客戶請求並向客戶端返回結果,在選主過程中參與投票。
觀察者(ObServer)
ObServer可以接收客戶端連接,將寫請求轉發給leader節點。但ObServer不參與投票過程,只同步leader的狀態。ObServer的目的是爲了擴展系統,提高讀取速度。
客戶端(Client)
請求發起方
集羣安裝
在真正的生產當中,我們會在多個Linux系統中安裝多個Zookeeper,然後把它們集羣到一起,這個就是真集羣。而對於我們學習來說的話呢,就搭個僞集羣吧。省的麻煩...
使用3個 Zookeeper 應用搭建一個僞集羣。應用部署位置是:192.168.2.102。客戶端,監聽端口分別爲: 2181、 2182、 2183。投票選舉端口分別爲 2881/3881、 2882/3882、 2883/3883。
不過呢,雖然搭建的是僞集羣。但實際上和真集羣的方法,都是一樣的,不必糾結那麼多~
先進入 usr/local,創建一個zookeepercluster目錄
然後我們回到當初存放Zookeeper壓縮包的位置,在上一篇呢,我是安裝到了主目錄下的temp目錄
我們只需要拷貝三份到剛纔創建的目錄下就好了~
命令: cp apache-zookeeper-3.6.0-bin.tar.gz /usr/local/zookeepercluster/ -r
然後我們再解壓:tar zxvf apache-zookeeper-3.6.0-bin.tar.gz
然後我們和上一篇一樣,新建一個data目錄作爲緩存目錄
前面呢,我們說過要建三個zookeeper,所以現在我們要把zookeeper01複製兩邊到當前目錄就可以了~
這下子呢,我們就已經安裝好了三個zookeeper實例了,而且也都有了data作爲緩存文件,可是我們配置文件還沒有配。所以說,現在呢。我們就要去修改配置文件了~
我們先進入到conf目錄下將zoo_sample.cfg修改爲zoo.cfg
另外兩個呢,就也和第一個同樣操作~
然後我們現在配置環境變量
然後我們按Esc退出編輯模式,按:開始輸入命令。wq!保存退出~
另外兩個的話呢,和第一個是同樣操作。這裏就不截圖了~
提供應用唯一標識
在Zookeeper 集羣中,每個節點需要一個唯一標識。這個唯一標識要求是自然數。且唯一標識保存位置是:數據緩存目錄(dataDir=/usr/local/zookeeper/data)的 myid 文件中。其中“數據緩存目錄”爲配置文件zoo.cfg中的配置參數。我們就在data目錄中創建文件myid:touchmyid 。爲應用提供唯一標識。在這裏使用 1、2、3 作爲每個節點的唯一標識。
我們使用echo回聲命令
系統會將命令發送的數據返回。 '>>'爲定位,代表系統回聲數據指定發送到什麼位置。 此命令代表系統回聲數據發送到 myid文件中。 如果沒有文件則創建文件。
echo 1 >> zookeeper01/data/myid
另外兩個也用同樣的操作就好了~
這個時候我們就該到最後一步了~
修改配置文件zoo.cfg- 設置監聽客戶端、投票、選舉端口
現在我們啓動!
回到jdk的路徑,並獲取複製(本人呢,是安裝到了/usr/local/jdk下)
我們複製的時候,不要傻傻的只複製/usr/local/jdk,還要加上jdk本身。所以應該是:/usr/local/jdk/jdk1.8.0_221 這樣的路徑纔對