1. 程式人生 > >zookeeper的安裝與啟動

zookeeper的安裝與啟動

zookeeper的安裝:

         java          準備:安裝jdk1.8          zookeeper版本:3.4.10         安裝節點:奇數臺   255臺    3-11臺

        安裝3臺  hadoop01  hadoop02   hadoop03         步驟:             1)上傳             2)解壓             tar -xvzf zookeeper-3.4.10.tar.gz             3)配置環境變數             vi /etc/profile             export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73             export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6             export ZOOKEEPER_HOME=/home/hadoop/apps/zookeeper-3.4.10             export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin                          source /etc/profile                          4)修改zk的配置檔案

            /home/hadoop/apps/zookeeper-3.4.10/conf             mv zoo_sample.cfg zoo.cfg                                       # The number of milliseconds of each tick  心跳時間間隔             tickTime=2000             # The number of ticks that the initial              # synchronization phase can take  初始化心跳連線次數             initLimit=10             # The number of ticks that can pass between              # sending a request and getting an acknowledgement             傳送請求和返回響應之間的心跳次數             syncLimit=5             # the directory where the snapshot is stored.             # do not use /tmp for storage, /tmp here is just              # example sakes.             //zk的資料檔案儲存位置  zk的核心資料檔案  一定要改             dataDir=/home/hadoop/data/zookeeperdata             # the port at which the clients will connect             # 客戶端連線zk的埠  預設埠2181             clientPort=2181             # the maximum number of client connections.             # increase this if you need to handle more clients             #maxClientCnxns=60             #             # Be sure to read the maintenance section of the              # administrator guide before turning on autopurge.             #             # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance             #             # The number of snapshots to retain in dataDir             #autopurge.snapRetainCount=3             # Purge task interval in hours             # Set to "0" to disable auto purge feature             #autopurge.purgeInterval=1                         /* 末尾追加:配置zk的所有的節點資訊             zk叢集中  每一個節點都有一個自己的獨立的id                zk節點相互之間不能重複的  這個id認為規定的               通訊選舉的時候使用的就是id   範圍0-255             server.id=主機名:2888:3888             2888:心跳埠             3888:選舉埠             一行代表一個節點             hadoop01----1             hadoop02----2             hadoop03----3*/                          server.1=hadoop01:2888:3888             server.2=hadoop02:2888:3888             server.3=hadoop03:2888:3888                                      5)到對應的節點上新增id檔案
            路徑:dataDir=/home/hadoop/data/zookeeperdata             檔名:myid             檔案內容  :對應的id   不要有多餘的空格  或空行             mkdir /home/hadoop/data/zookeeperdata             vi myid             1             6)遠端傳送到其他節點                 scp -r zookeeper-3.4.10 hadoop02:/home/hadoop/apps/                 scp -r zookeeper-3.4.10 hadoop03:/home/hadoop/apps/                                                   sudo scp /etc/profile hadoop02:/etc/                 sudo scp /etc/profile hadoop03:/etc/                                  source /etc/profile             7)啟動
            關閉防火牆 sudo service iptables stop             啟動:三個節點分別啟動                 hadoop01: zkServer.sh start                                    jps                  6332 QuorumPeerMain                  不代表啟動成功                  檢視zk的狀態:                  zkServer.sh status                                   以下狀態  非正常狀態                 ZooKeeper JMX enabled by default                 Using config: /home/hadoop/apps/zookeeper-3.4.10/bin/../conf/zoo.cfg                 Error contacting service. It is probably not running.                                   hadoop02:zkServer.sh start                 正常狀態                 ZooKeeper JMX enabled by default                 Using config: /home/hadoop/apps/zookeeper-3.4.10/bin/../conf/zoo.cfg                 Mode: leader                                  hadoop03:zkServer.sh start                           zookeeper的初次安裝選主         先啟動hadoop01---1-----follower(跟隨者)   從         有啟動hadoop02---2-----leader(領導者)  主         最後啟動hadoop03---3----follower   從                  全新叢集的選主過程:             啟動順序:1----2----3                          1)hadoop01啟動id=1,會去找叢集中的leader通訊,發現叢集中             沒有leader,發起投票選舉leader  預設將票投給自己               id就是投票的依據                          2)hadoop02啟動 id=2,啟動完成先去找叢集中的leader,沒有leader             發起投票選舉leader   將票投給自己  hadoop01進行重新投票 預設id小的             強制將票投給id大的  hadoop01票投給hadoop02             hadoop01----0             hadoop02---2票   3臺機器  過半選舉了             hadoop02就是目前情況下的leader             hadoop01將自己的狀態切換為follower                          3)hadoop03    啟動,先去找叢集中的leader   已經有leader               將自己的狀態切為follower                          啟動順序:1---3---2   3----1----2                          命令一起傳送:hadoop02  hadoop03   leader