Linux部署Dubbo的注冊(cè)中心Zookeeper(單機(jī))

目錄

1.0 簡(jiǎn)單介紹

1.1關(guān)于DUBBO
1.2 關(guān)于Zookeeper

2.0 Zookeeper單機(jī)部署

2.1 選一臺(tái)服務(wù)器為注冊(cè)中心服務(wù)器买猖,安裝Zookeeper

1> 修改操作系統(tǒng)的/etc/hosts,添加別名
2> 下載zookeeper安裝包
3> 解壓zookeeper安裝包

2.2 配置Zookeeper

1> 在zookeeper-3.4.9目錄中創(chuàng)建data和logs目錄
2> 修改zookeeper配置文件
3> 創(chuàng)建myid文件牡昆,輸入服務(wù)器的編號(hào)
4> 編輯.bash_profile臭增,增加zookeeper的環(huán)境變量

2.3 啟動(dòng)Zookeeper服務(wù)

1> 啟動(dòng)zookeeper服務(wù)
2> 配置zookeeper開機(jī)自動(dòng)啟動(dòng)

2.4 防火墻配置

1> 編輯防火墻配置文件,添加端口訪問規(guī)則
2> 查看防火墻的規(guī)則

3.0 補(bǔ)充

1> 查看zookeeper進(jìn)程
2> 查看zookeeper狀態(tài)
3> 查看zookeeper服務(wù)輸出的信息
4> 停止zookeeper服務(wù)


1.0 簡(jiǎn)單介紹

1.1 關(guān)于DUBBO

DUBBO是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案寝凌,是阿里巴巴SOA服務(wù)化治理方案的核心框架狮含,每天為2,000+個(gè)服務(wù)提供3,000,000,000+次訪問量支持顽悼,并被廣泛應(yīng)用于阿里巴巴集團(tuán)的各成員站點(diǎn)。

1.2 關(guān)于Zookeeper

Zookeeper是為分布式應(yīng)用程序提供高性能協(xié)調(diào)服務(wù)的工具集合几迄,也是Google的Chubby一個(gè)開源的實(shí)現(xiàn)蔚龙,是Hadoop的分布式協(xié)調(diào)服務(wù)。它包含一個(gè)簡(jiǎn)單的原語(yǔ)集映胁,分布式應(yīng)用程序可以基于它實(shí)現(xiàn)配置維護(hù)木羹、命名服務(wù)、分布式同步解孙、組服務(wù)等坑填。Zookeeper可以用來保證數(shù)據(jù)在ZK集群之間的數(shù)據(jù)的事務(wù)性一致。其中ZooKeeper提供通用的分布式鎖服務(wù)弛姜,用以協(xié)調(diào)分布式應(yīng)用脐瑰。

Zookeeper作為Hadoop項(xiàng)目中的一個(gè)子項(xiàng)目,是Hadoop集群管理的一個(gè)必不可少的模塊,它主要用來解決分布式應(yīng)用中經(jīng)常遇到的數(shù)據(jù)管理問題,如集群管理廷臼、統(tǒng)一命名服務(wù)苍在、分布式配置管理、分布式消息隊(duì)列荠商、分布式鎖寂恬、分布式協(xié)調(diào)等。在Hadoop中莱没,它管理Hadoop集群中的NameNode掠剑,還有在Hbase中Master Election、Server 之間狀態(tài)同狀步等郊愧。

Zoopkeeper提供了一套很好的分布式集群管理的機(jī)制朴译,就是它這種基于層次型的目錄樹的數(shù)據(jù)結(jié)構(gòu)井佑,并對(duì)樹中的節(jié)點(diǎn)進(jìn)行有效管理,從而可以設(shè)計(jì)出多種多樣的分布式的數(shù)據(jù)管理模型眠寿。

DUBBO推薦生產(chǎn)環(huán)境中的注冊(cè)中心使用Zookeeper躬翁,支持基于網(wǎng)絡(luò)的集群方式。

2.0 Zookeeper單機(jī)部署

  • 環(huán)境:CentOS 6.8 x64
  • IP:x.x.x.x
  • Zookeeper版本:3.4.9
  • 系統(tǒng)用戶:root
2.1 選一臺(tái)空服務(wù)器為注冊(cè)中心服務(wù)器盯拱,安裝Zookeeper
1> 修改操作系統(tǒng)的/etc/hosts盒发,添加別名
  [root@iZbp ~]# vim /etc/hosts
  # Zookeeper Server
  121.43.161.35 xxx-provider-01
2> 下載zookeeper安裝包
  # wget http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
3> 解壓zookeeper安裝包
  # tar -zxvf zookeeper-3.4.9.tar.gz
2.2 配置Zookeeper
1> 在zookeeper-3.4.9目錄中創(chuàng)建data和logs目錄
  # cd /data/
  # mv ~/zookeeper-3.4.9 ./
  # ls
  lost+found  mysql  wwwlogs  wwwroot  zookeeper-3.4.9

  # cd zookeeper-3.4.9/
  # mkdir data
  # mkdir logs
2> 修改zookeeper配置文件

拷貝/conf/zoo_sample.cfg,命名為zoo.cfg

  [root@iZbp zookeeper-3.4.9]# cd conf/
  [root@iZbp conf]# ls
  configuration.xsl  log4j.properties  zoo_sample.cfg
  [root@iZbp conf]# cp zoo_sample.cfg zoo.cfg

修改zoo.cfg配置文件

  # vim zoo.cfg 
   2 tickTime=2000
   5 initLimit=10
   8 syncLimit=5

   12 dataDir=/data/zookeeper-3.4.9/data
   13 dataLogDir=/data/zookeeper-3.4.9/logs

   15 clientPort=2181
   16 server.1=xxx-provider-01:2888:3888

TIPS

  1. initLimit
    這個(gè)配置項(xiàng)是用來配置 Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務(wù)器的客戶端狡逢,而是 Zookeeper 服務(wù)器集群中連接到Leader 的 Follower 服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)宁舰。當(dāng)已經(jīng)超過 10 個(gè)心跳的時(shí)間(也就是tickTime)長(zhǎng)度后Zookeeper服務(wù)器還沒有收到客戶端的返回信息,那么表明這個(gè)客戶端連接失敗奢浑÷瑁總的時(shí)間長(zhǎng)度就是5*2000=10 秒。
  2. syncLimit
    這個(gè)配置項(xiàng)標(biāo)識(shí) Leader 與 Follower 之間發(fā)送消息雀彼,請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度壤蚜,最長(zhǎng)不能超過多少個(gè) tickTime 的時(shí)間長(zhǎng)度,總的時(shí)間長(zhǎng)度就是 2*2000=4秒徊哑。
  3. server.A=B:C:D
    其中 A 是一個(gè)數(shù)字袜刷,表示這個(gè)是第幾號(hào)服務(wù)器; B 是這個(gè)服務(wù)器的 IP 地址或/etc/hosts 文件中映射了 IP 的主機(jī)名莺丑; C 表示的是這個(gè)服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口著蟹; D 表示的是萬一集群中的 Leader 服務(wù)器掛了,需要一個(gè)端口來重新進(jìn)行選舉梢莽,選出一個(gè)新的 Leader萧豆,而這個(gè)端口就是用來執(zhí)行選舉時(shí)服務(wù)器相互通信的端口。如果是偽集群的配置方式蟹漓,由于 B 都是一樣炕横,所以不同的 Zookeeper 實(shí)例通信端口號(hào)不能一樣,所以要給它們分配不同的端口號(hào)葡粒。
  4. 端口
    2888 端口號(hào)是 zookeeper 服務(wù)之間通信的端口份殿。
    3888 是 zookeeper 與其他應(yīng)用程序通信的端口。
    ddxstore-provider-01 是在 hosts 中已映射了 IP 的主機(jī)名
3> 創(chuàng)建myid文件嗽交,輸入服務(wù)器的編號(hào)
  [root@iZbp conf]# cd /data/zookeeper-3.4.9/data/
  [root@iZbp data]# vim myid
  1

因?yàn)橹辉谝慌_(tái)服務(wù)器上安裝配置卿嘲,是個(gè)單點(diǎn)server.1,因此填1夫壁;

4> 編輯.bash_profile拾枣,增加zookeeper的環(huán)境變量
  [root@iZbp data]# cd ~
  [root@iZbp ~]# vim .bash_profile 
  # Zookeeper
  export ZOOKEEPER_HOME=/data/zookeeper-3.4.9
  export PATH=$ZOOKEEPER_HOME/bin:$PATH

  [root@iZbp ~]# source .bash_profile 
2.3 啟動(dòng)Zookeeper服務(wù)
1> 啟動(dòng)zookeeper服務(wù)
  [root@iZbp ~]# cd /data/zookeeper-3.4.9/bin/
  [root@iZbp bin]# zkServer.sh start
  ZooKeeper JMX enabled by default
  Using config: /data/zookeeper-3.4.9/bin/../conf/zoo.cfg
  Starting zookeeper ... STARTED
2> 配置zookeeper開機(jī)自動(dòng)啟動(dòng)
  [root@iZbp bin]# vim /etc/rc.local 
  #執(zhí)行Zookeeper啟動(dòng)命令
  /data/zookeeper-3.4.9/bin/zkServer.sh start
2.4 防火墻配置
1> 編輯防火墻配置文件,添加端口訪問規(guī)則
  [root@iZbp ~]# vim /etc/sysconfig/iptables
  # Zookeeper
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

  [root@iZbp ~]# chkconfig iptables on
  [root@iZbp ~]# service iptables restart
  iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
  iptables: Flushing firewall rules:                         [  OK  ]
  iptables: Unloading modules:                               [  OK  ]
  iptables: Applying firewall rules:                         [  OK  ]
2> 查看防火墻的規(guī)則
  [root@iZbp ~]# service iptables status
  Table: filter
  Chain INPUT (policy ACCEPT)
  num  target     prot opt source               destination         
  1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:88 
  2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
  3    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
  4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
  5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21 
  6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
  7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
  8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306 
  9   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2181 
  10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2888 
  11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3888 

  Chain FORWARD (policy ACCEPT)
  num  target     prot opt source               destination         

  Chain OUTPUT (policy ACCEPT)
  num  target     prot opt source               destination         

到這里,Linux環(huán)境下Dubbo的注冊(cè)中心Zookeeper單機(jī)版已經(jīng)部署完成了梅肤!

命令行測(cè)試
Windows Platform:
  C:\Users\DevOps>telnet x.x.x.x 2181
Linux Platform:
  # telnet 127.0.0.1 2181

3.0 補(bǔ)充:

1> 查看zookeeper進(jìn)程
  [root@iZbp bin]# jps
  3376 Bootstrap
  12737 QuorumPeerMain
  1042 jenkins.war
  12787 Jps

QuorumPeerMain是zookeeper進(jìn)程司蔬,如果存在,表示啟動(dòng)正常

2> 查看zookeeper狀態(tài)
  [root@iZbp bin]# zkServer.sh status
  ZooKeeper JMX enabled by default
  Using config: /data/zookeeper-3.4.9/bin/../conf/zoo.cfg
  Mode: standalone
3> 查看zookeeper服務(wù)輸出的信息
  [root@iZbp bin]# tail -500f zookeeper.out
4> 停止zookeeper服務(wù)
  [root@iZbp11rfoyeescusr9ha9qZ bin]# zkServer.sh stop
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姨蝴,一起剝皮案震驚了整個(gè)濱河市俊啼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌左医,老刑警劉巖授帕,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異浮梢,居然都是意外死亡跛十,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門秕硝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芥映,“玉大人,你說我怎么就攤上這事缝裤∑梁洌” “怎么了颊郎?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵憋飞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我姆吭,道長(zhǎng)榛做,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任内狸,我火速辦了婚禮检眯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昆淡。我一直安慰自己锰瘸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布昂灵。 她就那樣靜靜地躺著避凝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眨补。 梳的紋絲不亂的頭發(fā)上管削,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音撑螺,去河邊找鬼含思。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的含潘。 我是一名探鬼主播饲做,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼遏弱!你這毒婦竟也來了艇炎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤腾窝,失蹤者是張志新(化名)和其女友劉穎缀踪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虹脯,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驴娃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了循集。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唇敞。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖咒彤,靈堂內(nèi)的尸體忽然破棺而出疆柔,到底是詐尸還是另有隱情,我是刑警寧澤镶柱,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布旷档,位于F島的核電站,受9級(jí)特大地震影響歇拆,放射性物質(zhì)發(fā)生泄漏鞋屈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一故觅、第九天 我趴在偏房一處隱蔽的房頂上張望厂庇。 院中可真熱鬧,春花似錦输吏、人聲如沸权旷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拄氯。三九已至,卻和暖如春盗迟,著一層夾襖步出監(jiān)牢的瞬間坤邪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工罚缕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艇纺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像黔衡,于是被迫代替她去往敵國(guó)和親蚓聘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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