在centos7上安裝搭建zookeeper 單機,集群。
- 下載安裝包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
解壓
tar -zxvf zookeeper-3.4.13.tar.gz
cp zoo_sample.cfg ../zoo.cfg
- 單機配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
tickTime
: zookeeper 服務器之間或客戶端與服務器之間心跳的時間間隔。
dataDir
: zookeeper 保存數據的目錄,默認情況下,zookeeper 將寫數據的日志文件也保存在這個目錄里。
clientPort
: zookeeper 服務器監聽端口,用來接受客戶端的訪問請求。
啟動zookeeper
cd bin
./zkServer.sh start ../zoo.cfg
查看zk狀態
./zkServer.sh status ../zoo.cfg
查看zookeeper.out發現沒有安裝java,于是安裝java后執行
yum install java-1.8.0-openjdk.x86_64
重新啟動
./zkServer.sh start ../zoo.cfg
連接zookeeper
./zkCli.sh -server 127.0.0.1:2181
單機版已經安裝好了。
- 集群配置
這個集群在一臺虛擬機上用三個配置文檔配置三個server,使用的每個配置文檔模擬一臺機器,也就是說單臺機器及上運行多個zookeeper實例。因此,必須保證每個配置文檔的各個端口號不能沖突。除了clientPort,dataDir也同外,還要在dataDir所對應的目錄中創建myid文件來指定對應的zookeeper服務器實例。
創建目錄
mkdir -p zk_cluster/zk{1..3}/{data,logs}
查看目錄
ls -R zk_cluster/
在對應目錄下創建對應的配置文件zoo*.cfg 以及myid文件
clientPort 分別用2181,2182,2183,dataDir和dataLogDir分別設置為對應的目錄,server.x要和對應的myid文件里的數字對應。比如server.1 對應的myid文件里只用寫 1
就可以了。
依次啟動各個服務
cd /usr/local/bin/zookeeper/zookeeper-3.4.13/bin //進入bin目錄
./zkServer.sh start ../zk_cluster/zk1/zoo1.cfg
./zkServer.sh start ../zk_cluster/zk2/zoo2.cfg
./zkServer.sh start ../zk_cluster/zk3/zoo3.cfg
查看狀態
./zkServer.sh status ../zk_cluster/zk1/zoo1.cfg
zookeeper集群搭建完成。