1. 程式人生 > >dubbo學習筆記 第一章 zookeeper安裝配置

dubbo學習筆記 第一章 zookeeper安裝配置

       dubbo的實際使用中,基本都是使用zookeeper來管理它的服務,以及實現分散式呼叫。至於zookeeper是什麼,具有什麼使用者,大家可以百度搜索瞭解一下。實際生產環境中,zookeeper的應用服務數目,基本都是奇數個,這是由於它的選舉演算法決定的:zookeeper有選舉leader的概念,當某臺服務得到半數以上的投票是它就可以成為這個叢集的leader,舉個例子,有5個zookeeper應用,超過半數就是3個;如果是6個zookeeper應用,超過半數也是3個,這樣我們選擇5個zookeeper應用就夠支撐了。同樣,如果zookeeper叢集超過半數掛起,整個叢集也會掛起,選擇奇數個數也足夠支撐。

一、安裝過程

      從 http://zookeeper.apache.org/releases.html 這個地址下載zookeeper安裝包,下載完成後我是放在/usr/loca/www目錄下面,如圖所示:

值得注意地是我這裡還有一個data目錄,後面配置zookeeper一些儲存檔案會用得到,我打算把它們指向這個目錄下。

        zookeeper安裝比較簡單,它對主流的Linux系統相容性都算比較好,接下來,我們就解壓開這個tar.gz包,執行如下命令:

tar -zxvf zookeeper-3.3.6.tar.gz,可以看到系統生成如下目錄:



二、引數配置

進入這個生成的目錄zookeeper-3.3.6目錄,找到conf目錄:



複製裡面的zoo_sample.cfg檔案到zoo.cfg,具體執行如下命令:

cp zoo_sample.cfg zoo.cfg

然後編輯zoo.cfg 檔案,vi zoo.cfg,將裡面的兩行內容變更為:

dataDir=/usr/local/www/data    
dataLogDir=/usr/local/www/data

分別放置資料和日誌。

三、zookeeper啟動

bin/zkServer.sh start ,到此一個單機模式的zookeeper就配置完成,至於叢集模式的zookeeper機器有限,這裡不做介紹,叢集配置過程也不復雜,可以自行百度瞭解。這裡給大家一個zookeeper簡易客戶端,可以監控zookeeper狀態。下圖是我監控簡圖,所有zookeeper已經開始工作:



四,自己碰到的問題

在zookeeper啟動後,data目錄會有一個zookeeper_server.pid的檔案,裡面記錄了zookeeper執行的pid號,這個pid號要跟真實執行的zookeeper的pid號保持一致,不然後續dubbo執行會出問題,可能消費者會呼叫不到提供者所提供的服務,怎麼看會不會一致,這也是很簡單,如下圖:




上面兩圖就可以看出pid是一致,那什麼情況會不一致,就是可能在zookeeper執行情況下,重複執行bin/zkServer.sh start會出現這個情況。

zookeeper簡易客戶端附件,大家可以自行下載。