叢集安裝zookeeper(詳細步驟)
阿新 • • 發佈:2018-11-17
1、解壓zookeeper檔案
首先在主節點配置:
將下載到的zookeeper-3.4.6.tar.gz安裝檔案上傳到主機點的/usr/local目錄,解壓後進入根目錄建立data資料夾和logs資料夾
cd /usr/local #移動到安裝的目錄下
tar -zxvf zookeeper-3.4.6.tar.gz #解壓檔案
sudo mv zookeeper-3.4.6 zk #為方便將zookeeper-3.4.6改為zk
cd zk
mkdir data
mkdir logs
2、配置zoo.cfg
進入conf目錄,將zoo_sample.cfg重新命名或拷貝一份,且命名為zoo.cfg
# 重新命名
cd /usr/local/zk/conf #進入zookeeper的conf目錄下
# 拷貝
cp zoo_sample.cfg zoo.cfg #拷貝該檔案並命名為zoo.cfg
修改zoo.cfg配置
tickTime=2000 initLimit=10 syncLimit=5 # 指向zookeeper目錄下的data目錄 dataDir=/usr/local/zk/data # 增加日誌目錄 dataLogDir=/usr/local/zk/logs clientPort=2181 #新增服務通訊埠以及程式通訊埠 #mao-101我們已經在 hosts裡面配置過 server.1=master:2888:3888 server.2=node01:2888:3888 server.3=node02:2888:3888
3、建立myid檔案
cd /usr/local/zk/data
vim myid
# 加入內容:1 儲存退出vim
1
4、將zk檔案壓縮打包複製到其他的節點上
tar -zcf ~/zk.master.tar.gz ./zk #打包
scp ./zk.master.tar.gz node01:/home/hadoop #複製到node01節點
scp ./zk.master.tar.gz node02:/home/hadoop #複製到node02節點
5、在其他節點上解壓並修改相關檔案
cd /usr/local/zk/data #到zk中的data目錄下 vim myid #修改檔案
將1改為2(參照主機點中的/usr/local/zk/conf/zoo.cfg中的server.X=主機名:2888:3888的x值),儲存並退出
若還有其他子節點,和上面的步驟一模一樣。
6、環境變數
編輯檔案 ~/.bashrc,新增如下:
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=$ZOOKEEPER_HOME/bin:$PATH
重新整理生效
source ~/.bashrc
7、修改zookeeper使用者組和擁有者(防止以後執行zookeeper相關的操作需要擁root許可權)
chown -R hadoop:hadoop /usr/lcoal/zk/
8、防火牆
sudo su
sudo service iptables stop # 關閉防火牆服務
sudo chkconfig iptables off # 禁止防火牆開機自啟,就不用手動關閉了
#編輯iptables
vim /etc/sysconfig/iptables
#增加以下內容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
# 重啟防火牆並檢視埠狀態
service iptables restart
9、新增zookeeper開機啟動
// 切換到init.d目錄
cd /etc/rc.d/init.d
// 建立zookeeper檔案並更新許可權
touch zookeeper && chmod +x zookeeper
// 編輯zookeeper檔案,並新增如下內容
vim zookeeper
====下面是檔案內容=====
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191.x86_64
export PATH=$JAVA_HOME/bin:$PATH
case $1 in
start) su root /usr/local/zk/bin/zkServer.sh start;;
stop) su root /usr/local/zk/bin/zkServer.sh stop;;
status) su root /usr/local/zk/bin/zkServer.sh status;;
restart) su root /usr/local/zk/bin/zkServer.shrestart;;
*) echo "requirestart|stop|status|restart" ;;
esac
~
10、啟動zookeeper
zkServer.sh start
每一個節點都需要執行該步
11、驗證:
jps
當有進行QuorumPeerMain出現,則說明啟動成功
12、檢視狀態
zkServer.sh status
可明顯看到其中一個節點是Leader,其他都是follow.