1. 程式人生 > >ZooKeeper簡介(安裝和使用)

ZooKeeper簡介(安裝和使用)

雲服務器 簡介 不清楚 忽略 學習 看到了 在雲端 嘗試 scp命令

近期學習一些東西,涉及到zk。於是在阿裏雲的服務器上嘗試安裝了一個zk集群。當然,本人比較窮,只用一臺服務器搭的,還好原理都一樣,不影響學習效果。

1、下載,這個去官網下載即可。有些同學可能不清楚怎麽上傳到阿裏雲服務器,那麽這裏有幾種方式供你選擇,一個是你直接用一些類似xshell的ssh客戶端直接上傳,第二個用scp命令也是可以的。如果你能找到相應的文件鏈接的話,你也可以用curl -O url的方式直接在服務器下載。

2、一般下載都是tar.gz的,所以直接用tar -xvzf xxx.tar.gz即可。大概解壓完如下圖

技術分享圖片

如果你覺得名字比較長,你可以用mv重命名一下。

3、這樣一個zk裝好了,那麽啟動之前我們應該做些什麽?我們需要一個必要的配置文件。zk目錄如下

技術分享圖片

我們需要在conf下建一個zoo.cfg(默認是這個名稱,其他的名稱需要在啟動的時候把名字當做參數傳入)的配置文件。裏面的參數可以簡單地配置幾個(我把集群的配置也貼出來了,如果是單個實例的話把下面的server忽略即可,localhost是/etc/hosts裏面的域名就是本地):

技術分享圖片

技術分享圖片

註意不同的配置文件配置的路徑不要相同(因為我這個是一個服務器。。如果是不同服務器就無視吧)。

4、那麽簡單的配置完成了,我們接下來就是啟動的過程了。啟動之前需要在雲端服務器上開放相應的端口,安全組策略要改一下,不然的話可能會有問題哦。啟動的命令也非常簡單。因為是linux的centOS系統,我們用下面的.sh即可。

技術分享圖片

技術分享圖片

大家看到了最後的STARTED,但是現在還不能高興,因為這個並不一定代表你的zk啟動成功了。你需要再去看一下狀態.

技術分享圖片

上面是能跟著的命令參數,那麽我們肯定選擇status查詢。如下圖,證明真的沒有問題。

技術分享圖片

如果有問題我怎麽知道呢。這個時候需要去查看日誌,在/bin下面會有一個zookeeper.out的日誌,一般的問題無非就是端口沒有開啟訪問權限。

5、我們下面就登錄一下客戶端,使用一下zk

技術分享圖片

我們使用help就可以知道zk的命令都能幹什麽。

技術分享圖片

其他命令在此不一一展示了。

6.單個配置比較簡單,那麽我們配置多個實例怎麽處理呢,就像剛才步驟3中的圖一樣,我們需要多個配置文件,而且配置文件中的端口需要做一下修改,否則在一臺服務器上肯定會報錯說端口已被占用。需要註意的是,裏面有個dataDir,這個我們需要在這個路徑下添加一個myid的文件。用touch myid,創建完成之後,我們需要把配置文件中server.1或者server.2中的數字給對應的myid。比如我的第一個實例的配置文件式zoo1.cfg,那我對應目錄下的myid內容就是1.我們可以用echo 1 > myid給其填充內容。大家註意的是單機多實例的情況下,端口一定不能重復。

7、我們啟動的時候還是如上面的啟動方式一樣,上面的截圖都是在我配置好集群的情況下給大家截的圖,所以大家就可以直接看上面的圖。當leader/follower模式開啟之後,鏈接多個客戶端,查看、更新信息,其他的客戶端的值也會變化。

8、我在這個裏面遇到的坑,myid沒有配置、安全組沒有配置好。大家配置的時候一定要看仔細~

ZooKeeper簡介(安裝和使用)