【zookeeper】第3篇:zookeeper 安裝

單機版安裝

進入zooKeeper官網:http://zookeeper.apache.org/,找到你想下載的版本,我這裏下載的是 zookeeper 3.5.4 版本。apache

把 zookeeper-3.5.4.tar.gz 放到指定目錄

/Users/shifeifei/Software/zk-3.5.4

這是個人目錄。vim

執行解壓命令:bash

tar -zxvf zookeeper-3.5.4.tar.gz

獲得目錄 , zookeeper-3.5.4-beta,可觀察到zookeeper的目錄結構及內容:
clipboard.pngspa

zookeeper 環境變量配置

vim ~/.bash_profile
export ZK_HOME=/Users/shifeifei/Software/zk-3.5.4/zookeeper-3.5.4-beta-1
export PATH=$ZK_HOME/bin:$PATH
source ~/.bash_profile

zookeeper 相關配置

  • 配置 zoo.cfg 文件

進入到目錄code

/Users/shifeifei/Software/zk-3.5.4/zookeeper-3.5.4-beta-1/conf

修改文件 zoo_sample.cfg 文件內容,並從新命名爲 zoo.cfgserver

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-1
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2181
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888

其中 dataDir 和 dataLogDir 目錄是你自定義指定的。ip

  • 建立 myid 文件,該文件在 dataDir 所表示的目錄下

clipboard.png

文件內容是:server.1=127.0.0.1:2888:3888 中的 server.1 的 1get

啓動服務

進入目錄it

/Users/shifeifei/Software/zk-3.5.4/zookeeper-3.5.4-beta-1/bin

執行命令:
./zkServer.sh startclass

clipboard.png

集羣模式

  • 修改 zoo.cfg 文件
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-1
#dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-2
#dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-3
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2181
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888

在集羣模式下,集羣中的每一臺機器都要感知到其餘機器的存在,因此集羣機器中的 zoo.cfg 文件中經過:
server.id=ip:port:port 來標識集羣中不一樣的機器。其中 serverId 用來標識機器在集羣中的序號,同時,對應的每臺機器在都須要在 dataDir 目錄下建立一個 myid 文件,該文件內容是 serverId 值,該 id 的取值範圍是 1-255。

僞集羣模式

所謂的僞集羣就是用一臺集羣來模擬真實集羣中的全部機器,只須要把 zoo.cfg 文件修改以下

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-1
#dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-2
#dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-3
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2181
#clientPort=2182
#clientPort=2183
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=ip1:2888:3888
server.2=ip1:2889:3889
server.3=ip1:2890:3890

在目錄 /Users/shifeifei/Software/zk-3.5.4 下分別建立三個zk節點,以下如所示:
clipboard.png

zookeeper-3.5.4-beta-1
zookeeper-3.5.4-beta-2
zookeeper-3.5.4-beta-3

目錄下 conf/zoo.cfg 分別修改 dataDir 目錄便可,同時把 dataDir 目錄的 myid 內容改爲對應的 serverId 值,即:

  • zookeeper-3.5.4-beta-1 節點:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-1
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2181
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=ip1:2888:3888
server.2=ip1:2889:3889
server.3=ip1:2890:3890
  • zookeeper-3.5.4-beta-2 節點
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-2
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2182
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=ip1:2888:3888
server.2=ip1:2889:3889
server.3=ip1:2890:3890
  • zookeeper-3.5.4-beta-3 節點
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/shifeifei/Software/zk-3.5.4/zk-data/zk-data-3
dataLogDir=/Users/shifeifei/Software/zk-3.5.4/zk-log/
clientPort=2183
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=ip1:2888:3888
server.2=ip1:2889:3889
server.3=ip1:2890:3890

分別啓動三個zk節點

客戶端命令

客戶端命令在 /Users/shifeifei/Software/zk-3.5.4/zookeeper-3.5.4-beta-1 目錄下,進入客戶端

./zkCli.sh
  • 建立節點命令
create /zk-book 123 #在zk的根節點下建立一個 /zk-book 節點,節點內容是 123

clipboard.png

  • 讀取節點
ls / # 獲取根節點下全部節點
get /zk-book # 獲取指定節點的內容

clipboard.png

  • 更新節點內容
set /zk-book 456

clipboard.png

  • 刪除節點
delete /zk-book

clipboard.png

相關文章
相關標籤/搜索