三個節點, IP和主機名對應以下html
192.168.17.130 masternode
node
192.168.17.131 worknode1
apache
192.168.17.132 worknode2
bash
Step1: 下載Zookeeper 本例:zookeeper-3.4.6.tar.gzssh
URL >> https://storm.apache.org/downloads.htmlspa
Step2: 解壓到安裝目錄 /usr/local/zookeepercode
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/zookeeper
Step3: 建立zookeeper軟連接, 便於在不一樣版本之間切換orm
ln -s zookeeper/zookeeper-3.4.6 zookeeper
Step4: 在/etc/profile.d目錄下建立文件 zookeeper_env.sh, 內容以下:server
#!/bin/bash ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeperPATH=$ZOOKEEPER_HOME/bin:$PATH
Step5: 從新加載環境變量htm
source /etc/profile
Step6: 進入zookeeper/conf目錄下,複製zoo_sample.cfg 到 zoo.cfg
cp zoo_sample.cfg zoo.cfg # zoo.cfg 是zookeeper默認加載的配置文件
修改:
dataDir=/var/lib/zookeeper
追加:
server.1=192.168.17.130:2888:3888
server.2=192.168.17.131:2888:3888
server.3=192.168.17.132:2888:3888
解釋: dataDir制定zookeeper的數據文件目錄,其中 server.id=host:port:port, id爲每一個zookeeper節點的編號,保存在dataDir目錄下的myid文件中;host表明主機,第一個端口用於連接leader,第二個端口用於leader選舉端口。
Step7: 將安裝文件分別拷貝到剩餘的機器上
1. 此處使用主機名而不是ip,所以須要在三臺節點的 /etc/hosts中配置映射關係
192.168.17.130 masternode
192.168.17.131 worknode1
192.168.17.132 worknode2
2. 爲了方便在不一樣節點上拷貝文件,此處配置ssh,互相交換公共密鑰,示例:
ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub masternode ssh-copy-id -i ~/.ssh/id_rsa.pub worknode1 ssh-copy-id -i ~/.ssh/id_rsa.pub worknode2
實現三個節點兩兩之間相互無密碼訪問,而後使用scp命令進行拷貝
Step8:啓動服務(分別在三個節點上啓動服務)
zkServer.sh start
Step9: 驗證
zkServer.sh status
官網參考:https://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html