這一篇接着記錄集羣搭建,開始安裝配置zookeeper,它的做用是作集羣的信息同步,zookeeper配置時自己就是一個獨立的小集羣,集羣機器通常爲奇數個,只要機器過半正常工做那麼這個zookeeper集羣就能正常工做,工做時自動選舉一個leader其他爲follower,因此最低是配置三臺。.net
注意本篇文章的幾乎全部操做如不標註,則默認爲hadoop用戶下操做日誌
複製一份,而後把ips內刪除兩臺機器名,,只留下前三臺便可,而後把幾個腳本的名稱啥的都改一下,和內部引用名都改一下。code
能夠用我改好的https://www.lanzous.com/b849762/ 密碼:1qq6blog
能夠用xshell的rz命令上傳zookeeper安裝包,安裝包在這裏https://www.lanzous.com/b849708/ 密碼:8a10進程
[hadoop@nn1 ~]$ cd zk_op/ 批量發送給三臺機器 [hadoop@nn1 zk_op]$ ./zk_scp_all.sh ~/upload/zookeeper-3.4.8.tar.gz /tmp/ 查看是否上傳成功 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /tmp | grep zoo*" 批量解壓到各自的/usr/local/目錄下 [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh tar -zxf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/ 再次查看是否操做成功 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zoo*" 批量改變/usr/local/zookeeper-3.4.8目錄的用戶組爲hadoop:hadoop [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh chown -R hadoop:hadoop /usr/local/zookeeper-3.4.8 [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh chmod -R 770 /usr/local/zookeeper-3.4.8 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zookeeper-3.4.8" 批量建立軟連接(能夠理解爲快捷方式) [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh ln - s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeper [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh "ls -l /usr/local/ | grep zookeeper" 這裏軟連接的用戶組合權限能夠不用修改,默認爲root或者hadoop均可以。
修改/usr/local/zookeeper/conf/zoo.cfg
能夠用我改好的https://www.lanzous.com/b849762/ 密碼:1qq6
批量刪除原有的zoo_sample.cfg文件,固然先備份爲好 [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh rm -f /usr/local/zookeeper/conf/zoo_sample.cfg 把咱們準備好的配置文件放進去,批量。 [hadoop@nn1 zk_op]$ ./zk_scp_all.sh ~/zoo.cfg /usr/local/zookeeper/conf/ ================================================================================================= 而後修改/usr/local/zookeeper/bin/zkEnv.sh腳本文件,添加日誌文件路徑 [hadoop@nn1 zk_op]$ vim /usr/local/zookeeper/bin/zkEnv.sh ZOO_LOG_DIR=/data 把這個配置文件批量分發給其餘機器 [hadoop@nn1 zk_op]$ ./zk_scp_all.sh /usr/local/zookeeper/bin/zkEnv.sh /usr/local/zookeeper/bin/
給5臺機器建立/data目錄,注意這裏是給5臺機器建立。用的沒改過的本來批量腳本。 [hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh mkdir /data [hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chown hadoop:hadoop /data [hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh "ls -l | grep data"
上面爲啥是忽然建立5個/data呢,,,由於後邊的hdfs和yarn都須要,後邊的hdfs是運行在後三臺機器上的,因此如今直接都建立好。
而後回到zk_op中,給前三臺機器建立id文件。用於zookeeper識別 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh touch /data/myid
而後_分別進三臺機器_,給這個文件追加id值。
echo "1" > /data/myid
echo "2" > /data/myid
echo "3" > /data/myid
在nn1上切換到root用戶更改系統環境變量 [hadoop@nn1 zk_op]$ su - root [root@nn1 ~]# vim /etc/profile 文件在末尾添加 #set Hadoop Path export HADOOP_HOME=/usr/local/hadoop export HADOOP_COMMON_HOME=${HADOOP_HOME} export HADOOP_HDFS_HOME=${HADOOP_HOME} export HADOOP_MAPRED_HOME=${HADOOP_HOME} export HADOOP_YARN_HOME=${HADOOP_HOME} export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:/usr/lib64 export HBASE_HOME=/usr/local/hbase export HIVE_HOME=/usr/local/hive export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin:/usr/local/zookeeper/bin
而後批量發送給其餘兩臺機器
[hadoop@nn1 zk_op]$ ./zk_scp_all.sh /etc/profile /tmp/ [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh cp -f /tmp/profile /etc/profile 批量檢查一下 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh tail /etc/profile 批量source一下環境變量 [hadoop@nn1 zk_op]$ ./zk_ssh_root.sh source /etc/profile
[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkServer.sh start 查看一下是否啓動。看看有沒有相關進程 [hadoop@nn1 zk_op]$ ./zk_ssh_all.sh jps
以下圖查看進程,有QPM進程就說明啓動成功
或者直接查看狀態,
好了,zookeeper安裝配置順利結束!!!