ZooKeeper的集群安裝
虛擬機(jī)的集群:
hostname | hadoop role | myid |
---|---|---|
master | Master | 1 |
slave1 | Slave | 2 |
slave2 | Slave | 3 |
http://apache.fayea.com/zookeeper/stable/
1.將下載好的zookeeper-3.4.9.tar.gz傳送到你的master主機(jī)上并解壓重命名文件夾為zookeeper牲距,理論上哪臺主機(jī)都可以翻擒,但是之后會在一次配置之后傳送到其他的slave機(jī)器上,所以在master主機(jī)上會比較方便.
#解壓
tar zxvf zookeeper-3.4.9.tar.gz
mv zookeeper-3.4.9 zookeeper
#這里的zookeeper路徑是/home/hadoop
2.進(jìn)入conf目錄下復(fù)制并修改配置文件
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
#zoo.cfg中修改相關(guān)參數(shù):
#tickTime是zookeeper中的基本時(shí)間單位,此處用于定義一個ticktime是多長雅倒,單位毫秒
tickTime=2000
#存儲內(nèi)存中的數(shù)據(jù)庫快照的位置,如果沒有指定dataLogDir,還將存儲數(shù)據(jù)庫更新的事務(wù)日志
dataDir=/home/hadoop/zookeeper/data
#這里的data文件夾需要自己創(chuàng)建
#數(shù)據(jù)庫事務(wù)日志的位置
dataLogDir=/home/hadoop/zookeeper/log
#這里的log文件夾需要自己創(chuàng)建
#為了客戶端連接而偵聽的端口
clientPort=2181
#允許Follower連接并與Leader同步的時(shí)長,單位是tickTime
initLimit=5
#允許Follower與ZooKeeper同步的時(shí)長绞蹦,單位是tickTime
syncLimit=2
#組成ZooKeeper的成員服務(wù)器。server.x的x是服務(wù)器號榜旦,與對應(yīng)服務(wù)器dataDir中myid文件內(nèi)的號碼一致幽七。
#指定兩個端口號,前一個用于Follower連接Leader溅呢,后一個用于Leader選舉澡屡。
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
#這是分布式環(huán)境的配置,如果是在單機(jī)上配置咐旧,則需要修改成不同的端口號
3.將配置文件中的data和log目錄
mkdir /home/hadoop/zookeeper/{data,log}
4.將安裝目錄zookeeper分發(fā)到所有slave
scp -r /home/hadoop/zookeeper hadoop@slave1:/home/hadoop
scp -r /home/hadoop/zookeeper hadoop@slave2:/home/hadoop
5.給所有的節(jié)點(diǎn)添加環(huán)境變量
sudo vim /etc/profile
#加入以下內(nèi)容
#ZooKeeper Env
export ZK_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZK_HOME/bin
source /etc/profile #使配置生效
6.給所有的節(jié)點(diǎn)創(chuàng)建對應(yīng)得myid文件
#master
echo "1">/home/hadoop/zookeeper/data/myid
#slave1
echo "2">/home/hadoop/zookeeper/data/myid
#slave2
echo "3">/home/hadoop/zookeeper/data/myid
7.在所有的節(jié)點(diǎn)啟動zookeeper
zkServer.sh start
#在所有的節(jié)點(diǎn)啟動后輸入jps查看,會有一個QuorumPeerMain進(jìn)程
8.查看狀態(tài)
zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower
#這里的follower和leader是隨機(jī)選舉的
9.使用客戶端連接
zkCli.sh -server ip或者主機(jī)名:2181
輸入quit退出