Linux系统运维之Zookeeper集群配置
生活随笔
收集整理的這篇文章主要介紹了
Linux系统运维之Zookeeper集群配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、簡介
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
1. ZooKeeper的基本運轉流程
1、選舉Leader,選舉機制大于1/2。 2、同步數據。 3、選舉Leader過程中算法有很多,但要達到的選舉標準是一致的。 4、Leader要具有最高的執行ID,類似root權限。 5、集群中大多數的機器得到響應并Follow選出的Leader。2. Leader工作流程
Leader主要有三個功能:
1.恢復數據; 2.維持與Learner的心跳,接收Learner請求并判斷Learner的請求消息類型; 3.Learner的消息類型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根據不同的消息類型,進行不同的處理。PING消息是指Learner的心跳信息;REQUEST消息是Follower發送的提議信息,包括寫請求及同步請求;ACK消息是Follower的對提議的回復,超過半數的Follower通過,則commit該提議;REVALIDATE消息是用來延長SESSION有效時間。3. Follower工作流程
Follower主要有四個功能:
1. 向Leader發送請求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息) 2.接收Leader消息并進行處理; 3.接收Client的請求,如果為寫請求,發送給Leader進行投票; 4.返回Client結果。?Follower的消息循環處理如下幾種來自Leader的消息:
1.PING消息:心跳消息 2.PROPOSAL消息:Leader發起的提案,要求Follower投票 3.COMMIT消息:服務器端最新一次提案的信息 4.UPTODATE消息:表明同步完成 5.REVALIDATE消息:根據Leader的REVALIDATE結果,關閉待revalidate的session還是允許其接受消息 6.SYNC消息:返回SYNC結果到客戶端,這個消息最初由客戶端發起,用來強制得到最新的更新。 更多內容:http://www.cnblogs.com/felixzh/p/5869212.html二、安裝配置
1. 環境信息
IP:192.168.10.10 Hostname:LFTo-Zookeeper01 IP:192.168.10.11 Hostname:LFTo-Zookeeper02 IP:192.168.10.12 Hostname:LFTo-Zookeeper032. 安裝配置
安裝JDK基礎環境
[worker@LFTo-Zookeeper01 ~]$ cd /home/worker/soft/ [worker@LFTo-Zookeeper01 soft]$ wget http://10.12.3.24/soft/jdk/jdk1.8.0_65.tar.gz [worker@LFTo-Zookeeper01 soft]$ mkdir -p /home/worker/usr/local/ [worker@LFTo-Zookeeper01 soft]$ tar xf jdk1.8.0_65.tar.gz -C /home/worker/usr/local/ [worker@LFTo-Zookeeper01 soft]$ ln -s /home/worker/usr/local/jdk1.8.0_65 /home/worker/usr/local/jdk [worker@LFTo-Zookeeper01 soft]$ vim ~/.bash_profile #########JDK ENV######### export JAVA_HOME=/home/worker/usr/local/jdk export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH生效環境變量 [worker@LFTo-Zookeeper01 soft]$ source ~/.bash_profile安裝zookeeper,配置單點
[worker@LFTo-Zookeeper01 soft]$ wget http://10.12.3.24/upload/zhaobin/zookeeper/zookeeper-3.4.6.tar.gz [worker@LFTo-Zookeeper01 soft]$ tar xf zookeeper-3.4.6.tar.gz -C ~/opt/ [worker@LFTo-Zookeeper01 soft]$ cd ~/opt/zookeeper-3.4.6/conf [worker@LFTo-Zookeeper01 conf]$ cp zoo_sample.cfg zoo.cfg#修改配置文件 [worker@LFTo-Zookeeper01 conf]$ vim zoo.cfg dataDir=/home/worker/opt/zookeeper_data/#創建數據目錄 [worker@LFTo-Zookeeper01 conf]$ mkdir -p /home/worker/opt/zookeeper_data/關閉、啟動、重啟服務等
[worker@LFTo-Zookeeper01 conf]$ /home/worker/opt/zookeeper-3.4.6/bin/zkServer.sh --help JMX enabled by default Using config: /home/worker/opt/zookeeper-3.4.6/bin/../conf/zoo.cfg Usage: /home/worker/opt/zookeeper-3.4.6/bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}3. 集群配置
在集群的每臺服務器host中添加以下配置
[root@LFTo-Zookeeper01 ~]# vim /etc/hosts 192.168.10.10 LFTo-Zookeeper01 192.168.10.11 LFTo-Zookeeper02 192.168.10.12 LFTo-Zookeeper03? 修改配置文件,配置集群
[worker@LFTo-Zookeeper01 conf]$ vim zoo.cfg server.1=LFTo-Zookeeper01:2888:3888 server.2=LFTo-Zookeeper02:2888:3888 server.3=LFTo-Zookeeper03:2888:3888 [worker@LFTo-Zookeeper01 conf]$ echo '1' >> /home/worker/opt/zookeeper_data/myid . . . . [worker@LFTo-Zookeeper02 conf]$ echo '2' >> /home/worker/opt/zookeeper_data/myid [worker@LFTo-Zookeeper03 conf]$ echo '3' >> /home/worker/opt/zookeeper_data/myid重啟zookeeper服務
[worker@LFTo-Zookeeper01 conf]$ ~/opt/zookeeper-3.4.6/bin/zkServer.sh restart?
轉載于:https://www.cnblogs.com/zzlain/p/6628221.html
總結
以上是生活随笔為你收集整理的Linux系统运维之Zookeeper集群配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础循环
- 下一篇: The 15th UESTC Progr