zookeeper-3.4.10的集群安裝配置

zookeeper

簡(jiǎn)介

Apache ZooKeeper是一個(gè)開發(fā)和維護(hù)開源服務(wù)器的框架奕坟,它使高度可靠的分布式協(xié)調(diào)成為可能贰剥。

ZooKeeper可以提供集中服務(wù),用于維護(hù)配置信息溶其,命名筋粗,提供分布式同步和提供組服務(wù)策橘。 所有這些類型的服務(wù)都以某種形式被分布式應(yīng)用程序使用。 每次實(shí)施時(shí)娜亿,都有很多工作要解決一些不可避免的錯(cuò)誤和競(jìng)爭(zhēng)條件丽已。 由于實(shí)施這些服務(wù)是有困難的,最初的應(yīng)用程序通常會(huì)吝嗇买决,這使得它們變得脆弱沛婴,難以管理。 即使正確完成督赤,這些服務(wù)的不同實(shí)現(xiàn)會(huì)導(dǎo)致應(yīng)用程序部署時(shí)的管理復(fù)雜性嘁灯。

ZooKeeper是分布式應(yīng)用程序的高性能協(xié)調(diào)服務(wù)。 它在一個(gè)簡(jiǎn)單的界面中公開了常見的服務(wù)够挂,如命名旁仿,配置管理,同步和組服務(wù)孽糖,所以你不必從頭開始編寫它們枯冈。 您可以現(xiàn)成使用它來(lái)實(shí)現(xiàn)共識(shí),小組管理办悟,leader選舉和presence協(xié)議尘奏。 而且您可以根據(jù)自己的具體需求進(jìn)行構(gòu)建。

ZooKeeper提供的常見服務(wù)如下 :

  • 命名服務(wù) - 按名稱標(biāo)識(shí)集群中的節(jié)點(diǎn)病蛉。它類似于DNS炫加,但僅對(duì)于節(jié)點(diǎn)瑰煎。
  • 配置管理 - 加入節(jié)點(diǎn)的最近的和最新的系統(tǒng)配置信息。
  • 集群管理 - 實(shí)時(shí)地在集群和節(jié)點(diǎn)狀態(tài)中加入/離開節(jié)點(diǎn)俗孝。
  • 選舉算法 - 選舉一個(gè)節(jié)點(diǎn)作為協(xié)調(diào)目的的leader酒甸。
  • 鎖定和同步服務(wù) - 在修改數(shù)據(jù)的同時(shí)鎖定數(shù)據(jù)。此機(jī)制可幫助你在連接其他分布式應(yīng)用程序(如Apache HBase)時(shí)進(jìn)行自動(dòng)故障恢復(fù)赋铝。
  • 高度可靠的數(shù)據(jù)注冊(cè)表 - 即使在一個(gè)或幾個(gè)節(jié)點(diǎn)關(guān)閉時(shí)也可以獲得數(shù)據(jù)插勤。

ZooKeeper特性

  • ZooKeeper是簡(jiǎn)單的:zookeeper的核心是一個(gè)精簡(jiǎn)的文件系統(tǒng),它提供一些簡(jiǎn)單的操作和一些額外的抽象操作革骨。
  • ZooKeeper是富有表現(xiàn)力的:zookeeper的基本操作是一組豐富的“構(gòu)件”农尖,可用于實(shí)現(xiàn)多種協(xié)調(diào)數(shù)據(jù)結(jié)構(gòu)和協(xié)議。
  • ZooKeeper具有高可用性:zookeeper運(yùn)行于一組機(jī)器之上良哲,并且在設(shè)計(jì)上具有高可用性盛卡,因此應(yīng)用程序可以完全依賴于它。
  • ZooKeeper采用松耦合交互方式:在zookeeper支持的交互過(guò)程中筑凫,參與者不需要了解彼此滑沧。
  • ZooKeeper是一個(gè)資源庫(kù):zookeeper提供了一個(gè)通用協(xié)調(diào)模式實(shí)現(xiàn)方法的開源共享庫(kù),使程序員免于編寫這類通用的協(xié)議漏健。

下載嚎货,安裝


wget http://mirrors.shuosc.org/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz

配置


單節(jié)點(diǎn)模式

cd zookeeper-3.4.10/conf 
vim zoo.cfg #創(chuàng)建一個(gè)配置文件    

在該文件中寫入下面幾項(xiàng):

tickTime=2000    #zookeeper中使用的基本時(shí)間單位, 毫秒值.
dataDir=/tmp/zookeeper/data    
dataLogDir=/tmp/zookeeper/log  #該參數(shù)若不配置橘霎,則日志目錄和dataDir配置相同
clientPort=2181 #監(jiān)聽client連接的端口號(hào).

參數(shù)配置可以在conf/zoo_sample.cfg中看到蔫浆。

分布式模式

在該文件中寫入下面幾項(xiàng):

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
clientPort=2181
server.130=192.168.213.130:2888:3888
server.131=192.168.213.131:2888:3888
server.132=192.168.213.132:2888:3888

server.X=A:B:C 其中X是一個(gè)數(shù)字, 表示這是第幾號(hào)server,可以隨意寫姐叁,但必須不相同. A是該server所在的IP地址. B配置該server和集群中的leader交換消息所使用的端口. C配置選舉leader時(shí)所使用的端口.

最后在dataDir目錄下新建一個(gè)myid文件瓦盛,并對(duì)應(yīng)著寫入 X 的值。

echo "130" > /tmp/zookeeper/data/myid #192.168.213.130服務(wù)器
echo "131" > /tmp/zookeeper/data/myid #192.168.213.131服務(wù)器
echo "132" > /tmp/zookeeper/data/myid #192.168.213.132服務(wù)器

啟動(dòng)


執(zhí)行命令(集群中每臺(tái)服務(wù)器都需要執(zhí)行下面命令):

bin/zkServer.sh start  

通過(guò)命令netstat -tupln查看這幾個(gè)端口是否啟動(dòng)成功外潜。

也可以通過(guò)命令jps查看是否有ZooKeeper服務(wù)器進(jìn)程原环,名稱為QuorumPeerMain。
我們也可以使用nc(telnet也可以)發(fā)送ruok命令(are you ok?)到監(jiān)聽端口处窥,檢查zookeeper是否正在運(yùn)行:

echo ruok | nc localhost 2181
imok

如果啟動(dòng)不成功嘱吗,可以查看日志zookeeper.out內(nèi)容,最常見的問(wèn)題可能是主機(jī)名與IP地址映射配置問(wèn)題
出現(xiàn)連接超時(shí)等錯(cuò)誤滔驾,可以通過(guò)修改/etc/hosts文件中主機(jī)名對(duì)應(yīng)的ip谒麦,修改為127.0.0.1或者是ipv4靜態(tài)地址,重啟就可以解決問(wèn)題哆致。出現(xiàn)nohup: failed to run command ‘java’: No such file or directory錯(cuò)誤绕德,解決辦法是在bin/zkServer.sh文件中添加jdk的安裝路徑,例如:

export JAVA_HOME=/usr/lib/jdk
export PATH=$JAVA_HOME/bin:$PATH

在客戶端連接ZooKeeper服務(wù)器摊阀,執(zhí)行如下命令:

bin/zkCli.sh -server 192.168.213.130:2181  

在光標(biāo)處可以輸入help查看Zookeeper客戶端可以使用的基本操作命令耻蛇,輸入quit退出踪蹬。

最后可以通過(guò)ZooKeeper的腳本來(lái)查看啟動(dòng)狀態(tài),包括集群中各個(gè)結(jié)點(diǎn)的角色(或是Leader臣咖,或是Follower)跃捣,命令如下:

bin/zkServer.sh status

zookeeper官方文檔http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

開機(jī)啟動(dòng)

cd /etc/rc.d/init.d/
touch zookeeper
chmod +x zookeeper
vim zookeeper
#!/bin/bash

#chkconfig:2345 20 90

#description:zookeeper

#processname:zookeeper

case $1 in

          start) su root /opt/zookeeper-3.4.14/bin/zkServer.sh start;;

          stop) su root /opt/zookeeper-3.4.14/bin/zkServer.sh stop;;

          status) su root /opt/zookeeper-3.4.14/bin/zkServer.sh status;;

          restart) su root /opt/zookeeper-3.4.14/bin/zkServer.sh restart;;

          *)  echo "require start|stop|status|restart"  ;;

esac

#保存退出
chkconfig --add zookeeper #把zookeeper添加到開機(jī)啟動(dòng)里面
chkconfig --list #查看添加的zookeeper是否在里面
service zookeeper start/stop/status #啟動(dòng)、停止夺蛇、查看服務(wù)狀態(tài)命令

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末枝缔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚊惯,更是在濱河造成了極大的恐慌愿卸,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件截型,死亡現(xiàn)場(chǎng)離奇詭異趴荸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宦焦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門发钝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人波闹,你說(shuō)我怎么就攤上這事酝豪。” “怎么了精堕?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵孵淘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我歹篓,道長(zhǎng)瘫证,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任庄撮,我火速辦了婚禮背捌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洞斯。我一直安慰自己毡庆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布烙如。 她就那樣靜靜地躺著么抗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厅翔。 梳的紋絲不亂的頭發(fā)上乖坠,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音刀闷,去河邊找鬼熊泵。 笑死仰迁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顽分。 我是一名探鬼主播徐许,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼卒蘸!你這毒婦竟也來(lái)了雌隅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缸沃,失蹤者是張志新(化名)和其女友劉穎恰起,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趾牧,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡检盼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翘单。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吨枉。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哄芜,靈堂內(nèi)的尸體忽然破棺而出貌亭,到底是詐尸還是另有隱情,我是刑警寧澤认臊,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布圃庭,位于F島的核電站,受9級(jí)特大地震影響美尸,放射性物質(zhì)發(fā)生泄漏冤议。R本人自食惡果不足惜斟薇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一师坎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧堪滨,春花似錦胯陋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至发笔,卻和暖如春盟萨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背了讨。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工捻激, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留制轰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓胞谭,卻偏偏與公主長(zhǎng)得像垃杖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丈屹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容