ZooKeeper簡介(安裝和使用)
近期學習一些東西,涉及到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簡介(安裝和使用)