目錄
Zookeeper簡介
Zookeeper是一個高效的分佈式協調服務,可以提供配置信息管理、命名、分佈式同步、集羣管理、數據庫切換等服務。它不適合用來存儲大量信息,可以用來存儲一些配置、發佈與訂閱等少量信息。Hadoop、Storm、消息中間件、RPC服務框架、分佈式數據庫同步系統,這些都是Zookeeper的應用場景。
Zookeeper集羣中節點個數一般爲奇數個(>=3),若集羣中Master掛掉,剩餘節點個數在半數以上時,就可以推舉新的主節點,繼續對外提供服務。
一、環境說明
- 系統信息
3臺Linux虛擬機
系統: centos7
# 主機名稱,ip地址
master: 192.168.61.132
slaver1: 192.168.61.130
slaver2: 192.168.61.131 - 下載地址
https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
二、開始部署
-
配置hostname
三臺機器都需要,以root用戶登錄centos系統,分別修改主機名名稱,重啓生效
su root
vi /etc/hostname -
配置hosts
vi /etc/hosts -
下載安裝zookeeper
cd /usr/local
mkdir services
cd services
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10 zookeeper -
zookeeper節點配置環境變量
vim /etc/profile# zookeeper
export ZK_HOME=/usr/local/services/zookeeper
export PATH=$ZK_HOME/bin:$PATH
最後使環境變量立即生效
source /etc/profile -
修改配置文件
修改zookeeper中conf目錄下的zoo_sample.cfg爲zoo.cfg
cd /usr/local/services/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
#(1)修改dataDir
dataDir=/usr/local/services/zookeeper/data
#(2)修改dataLogDir
dataLogDir=/usr/local/services/zookeeper/logs
#(3)添加server0,server1,server2server.0=master:2888:3888
server.1=slaver1:2888:3888
server.2=slaver2:2888:3888 -
創建myid
cd /usr/local/services/zookeeper/
mkdir data
mkdir logs
cd data/
vi myid
master修改爲0,slaver1修改爲1,slaver2修改爲2
#注:這裏的0,1,2分別對應zoo.cfg中的server.0,server.1,server.2 -
啓動zookeeper
三臺服務器必須都要執行啓動命令
zkServer.sh start
查看zookeeper狀態的命令
zkServer.sh status -
注意事項
1.zookeeper 喜歡奇數不喜歡偶數,至少要3臺服務器才能啓動
2.防火牆必須關閉或者開放端口
#centos7 關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
3.也可以使用scp命令先分別拷貝到slaver1,slaver2,然後再分別修改
scp -r /usr/local/services/zookeeper root@slaver1:/usr/local/services/zookeeper
scp -r /usr/local/services/zookeeper root@slaver1:/usr/local/services/zookeeper