Zookeeper 叢集配置
阿新 • • 發佈:2018-12-25
1.下載Zookeeper
2.解壓縮,進入zookeeper/conf 目錄下修改 zoo.cfg配置檔案
3.相關配置講解
tickTime=2000 #ZooKeeper伺服器心跳時間 ,單位為ms
initLimit=10 #投票選舉新Leader的初始化時間
syncLimit=5 #Leader與Follower心跳檢測最大容忍時間 響應不能超過syncLimit*tickTime 否則leader認為follwer死掉
clientPort=2181 #埠
dataDir=/tmp/ZooKeeper/data #資料目錄
dataLogDir/tmp/ZooKeeper/log #日誌記錄
#配置zookeeper的叢集
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
4. 在zookeeper的工作目錄中建立myid
mkdir /opt/zookeeper
cd /opt/zookeeper
vi myid
cat myid
1 然後將這個檔案分別傳遞到node2 node3 修改myid的值為 2和3 scp -r zookeeper [email protected]:/opt/ 然後傳遞zookeeper傳遞到node2 node3 5. 然後配置zk的環境變數 進入etc/profile export JAVA_HOME=/usr/lib/jvm/java7 export JRE_HOME=${JAVA_HOME}/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:/home/zk/bin #配置zk的環境變數 然後讓環境變數立即生效使用 source /etc/profile 然後同步這個檔案到 node2 node3 在分別使用source 生效 6. 然後這個時候就可以啟動zookeeper了 要在三個節點上分別啟動 [ [email protected] home]# zkServer.sh start
JMX enabled by default
Using config: /home/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[[email protected] home]# jps
2848 Jps
2827 QuorumPeerMain # 這個就是zookeeper的java程序的名字 7.安裝驗證 通過這個命令來檢視Leader 或Follower
zookeeper詳解
zookeeper叢集是一個獨立的分散式協調服務叢集,"獨立"的含義就是說,如果想使用zookeeper實現分散式應用的協調與管理,簡化協調與管理,任何分散式應用都可以使用,這就要歸功於zookeeper的資料模型(Data Model)和層次名稱空間(Hierarchical Namespace),在設計你的分散式應用協調服務時,首要的就是考慮如何組織層次名稱空間
主機名稱到ip地址對映配置
zookeeper叢集中具有兩個關鍵的角色:Leader和Follower,叢集中所有的結點作為一個整體對分散式應用提供服務,叢集中每個結點之間都相互連線,所以,在配置的zookeeper叢集的時候,每一個結點的host到ip地址的對映都要配置上叢集中其他結點的對映資訊
所以要修改/etc/hosts檔案,為各個結點配置上
192.168.12.128 node1
192.168.12.129 node2
192.168.12.130 node3
192.168.12.131 node4
zookeeper採用一種稱為Leader election 的選舉演算法,在整個叢集執行過程中,只有一個Leader,其他的都是Follower,如果zookeeper叢集在執行過程中Leader出了問題,系統會採用該演算法重新選出一個Leader,因此,各個結點之間要能夠保證互相連線,必須配置上述對映
設定myid
建立一個myid檔案,裡面內容為一個數字,用來標識當前主機 conf/zoo.cfg檔案中配置的server.X中X為什麼數字,則myid檔案中就輸入這個數字
檢視啟動日誌
這個是正常的現象,由於zookeeper叢集啟動的時候,每個結點都試圖去連線叢集中的其他結點,先啟動的肯定連不上後面還沒啟動,所以上面日誌前面部分的異常是可以忽略的,通過後面部分可以看到,叢集在選出一個Leader後,最後穩定了
cd /opt/zookeeper
vi myid
cat myid
1 然後將這個檔案分別傳遞到node2 node3 修改myid的值為 2和3 scp -r zookeeper [email protected]:/opt/ 然後傳遞zookeeper傳遞到node2 node3 5. 然後配置zk的環境變數 進入etc/profile export JAVA_HOME=/usr/lib/jvm/java7 export JRE_HOME=${JAVA_HOME}/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:/home/zk/bin #配置zk的環境變數 然後讓環境變數立即生效使用 source /etc/profile 然後同步這個檔案到 node2 node3 在分別使用source 生效 6. 然後這個時候就可以啟動zookeeper了 要在三個節點上分別啟動 [
JMX enabled by default
Using config: /home/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[[email protected] home]# jps
2848 Jps
2827 QuorumPeerMain # 這個就是zookeeper的java程序的名字 7.安裝驗證 通過這個命令來檢視Leader 或Follower
|
|