日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ZooKeeper 3.4.5 分布式环境搭建详解

發(fā)布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZooKeeper 3.4.5 分布式环境搭建详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

上一篇中,我們說到了關(guān)于 Hadoop-2.2.0 集群的搭建。在這個系列中,Zookeeper 是必不可少的。本文會介紹 Zookeeper-3.4.5 的安裝,后面會介紹 HBase-0.96 的安裝。希望于你有益。


版權(quán)說明

著作權(quán)歸作者所有。
商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
本文作者:Q-WHai
發(fā)表日期: 2016年5月18日
本文鏈接:http://blog.csdn.net/lemon_tree12138/article/details/51445689
來源:CSDN
更多內(nèi)容:分類 >> 大數(shù)據(jù)之 Hadoop


環(huán)境說明

  • CentOS release 6.5 (Final) ( master )
  • CentOS release 6.5 (Final) ( slave1 )
  • CentOS release 6.5 (Final) ( slave2 )
  • JDK-1.8.0_92 ( Oracle )
  • Hadoop-2.2.0
  • 虛擬機環(huán)境: VMware? Workstation 12 Pro
  • 序號虛擬機 IPhostname
    1172.16.2.117master
    2172.16.2.115slave1
    3172.16.2.116slave2

    Zookeeper 環(huán)境搭建

    下載

    http://zookeeper.apache.org/releases.html
    進入 Apache 的官網(wǎng)下載一個合適的 Zookeeper 版本進行安裝。

    $ tar -zxvf zookeeper-3.4.5.tar.gz $ mv zookeeper-3.4.5 ~/zookeeper

    配置環(huán)境變量

    $ sudo vim /etc/profile

    在文件的末尾處,添加如下信息

    export ZOOKEEPER_HOME=/home/hadoop/zookeeper export PATH=$PATH:${ZOOKEEPER_HOME}/bin

    設(shè)置上面的配置立即生效

    $ source /etc/profile

    配置 zoo.cfg

    配置 zoo.cfg 的路徑是 ${ZOOKEEPER_HOME}/conf/zoo.cfg,不過一般情況下,這個文件是不存在的,需要從 zoo_sample.cfg 復制獲得

    $ cp zoo_smaple.cfg zoo.cfg $ vim zoo.cfg

    配置文件中的內(nèi)容如下

    tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/data/zookeeper clientPort=2181server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888

    配置防火墻

    這里選擇關(guān)閉防火墻

    $ sudo service iptables stop $ sudo chkconfig iptables off # 設(shè)置防火墻不隨系統(tǒng)啟動,這一條你可以選擇性添加

    配置 myid

    [hadoop@master ~]$ echo 1 > /home/hadoop/data/zookeeper/myid [hadoop@slave1 ~]$ echo 2 > /home/hadoop/data/zookeeper/myid [hadoop@slave2 ~]$ echo 3 > /home/hadoop/data/zookeeper/myid

    注意這里 myid 的路徑要與上面 zoo.cfg 中 dataDir 的路徑一致。否則你的 Zookeeper 將無法啟動。
    另外上面的三條指令實際上是在三臺虛擬機上完成的,這里需要注意,別傻乎乎地在同一臺虛擬機上搞得起勁。

    配置下發(fā)

    $ scp -r zookeeper/ slave1:~/ $ scp -r zookeeper/ slave2:~/

    這里與 Hadoop 中的下發(fā)一樣,將整個文件夾下發(fā)到你想要安放的目錄。只是,這里需要在 scp 后面加上一個 -r,不然你就需要將 zookeeper 文件先壓縮,再下發(fā),再在各個子節(jié)點下再解壓。麻煩死了~,還不如一個 -r 把控全局來得爽。

    節(jié)點配置修改

    這里主要有兩個地方需要修改

  • myid
  • dataDir
    myid 不用再說了,上面已經(jīng)講過了。這里的 dataDir 路徑,你必須保證它存在,所以你要去創(chuàng)建它。
  • 啟動測試

    $ zkServer.sh start JMX enabled by default Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED

    需要注意的是,要在每一臺機器上都啟動 zookeeper 才可以。

    啟動驗證

    $ jps [hadoop@master ~]$ jps 6888 QuorumPeerMain 7353 Jps

    如果這里存在 QuorumPeerMain 進程的話,就說明 Zookeeper 啟動成功了。

    功能驗證

    上面的啟動驗證只是說明了你的 Zookeeper 已經(jīng)啟動了,并不能說明,你的 Zookeeper 啟動成功了。我們需要使用下面的指令查看 Zookeeper 是否啟動成功。

    $ zkServer.sh status [hadoop@master ~]$ zkServer.sh status JMX enabled by default Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg Error contacting service. It is probably not running.

    果然,這里的輸出信息足以說明我們的 zookeeper 沒有啟動成功。百度了一通,完全無用!還有的一些完全是在胡說八道。

    解決方案

    在網(wǎng)上搜了很多的解決方案都不可行。也看了 zookeeper.out 信息,都沒有什么發(fā)現(xiàn)。于是嘗試著修改了 dataDir 的路徑到 Zookeeper 的安裝目錄下(這是網(wǎng)上的教程中都用的目錄),并重啟計算機,問題解決。當然,我不能保證你按照我的步驟一定可以解決問題。只是把我解決此問題的過程分享給你而已,如果你未能解決它,可能你是另外的情況,但我希望你也可以不吝嗇地把你的解決方案分享給大家。

    驗證結(jié)果
    master

    [hadoop@master zookeeper]$ zkServer.sh status JMX enabled by default Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg Mode: leader

    slave1

    [hadoop@slave1 conf]$ zkServer.sh status JMX enabled by default Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg Mode: follower

    slave2

    [hadoop@slave2 conf]$ zkServer.sh status JMX enabled by default Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg Mode: follower

    測試 zkClient

    zkCli.sh -server master:2181 Connecting to master:2181 2016-05-18 09:48:28,985 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT 2016-05-18 09:48:28,990 [myid:] - INFO [main:Environment@100] - Client environment:host.name=master 2016-05-18 09:48:28,990 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_92 ( ... 此處省略 N 條 ... ) Welcome to ZooKeeper! 2016-05-18 09:48:29,095 [myid:] - INFO [main-SendThread(master:2181):ClientCnxn$SendThread@966] - Opening socket connection to server master/172.16.2.117:2181. Will not attempt to authenticate using SASL (unknown error) JLine support is enabled 2016-05-18 09:48:29,309 [myid:] - INFO [main-SendThread(master:2181):ClientCnxn$SendThread@849] - Socket connection established to master/172.16.2.117:2181, initiating session 2016-05-18 09:48:29,420 [myid:] - INFO [main-SendThread(master:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server master/172.16.2.117:2181, sessionid = 0x154c4bf7e640000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null [zk: master:2181(CONNECTED) 0]

    至此,我們的 Zookeeper 終于搭建完成了。以下是搭建完成之后在 Zookeeper 里面的玩耍:

    [zk: master:2181(CONNECTED) 0] ls / [zookeeper] [zk: master:2181(CONNECTED) 1] create /newfile hello Created /newfile [zk: master:2181(CONNECTED) 2] ls / [zookeeper, newfile] [zk: master:2181(CONNECTED) 3] get /newfile hello cZxid = 0x200000002 ctime = Wed May 18 09:50:50 PDT 2016 mZxid = 0x200000002 mtime = Wed May 18 09:50:50 PDT 2016 pZxid = 0x200000002 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 5 numChildren = 0 [zk: master:2181(CONNECTED) 4] set /newfile gootdayWATCHER::WatchedEvent state:SyncConnected type:NodeDataChanged path:/newfile cZxid = 0x200000002 ctime = Wed May 18 09:50:50 PDT 2016 mZxid = 0x200000003 mtime = Wed May 18 09:53:55 PDT 2016 pZxid = 0x200000002 cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 7 numChildren = 0 [zk: master:2181(CONNECTED) 7] get /newfile gootday cZxid = 0x200000002 ctime = Wed May 18 09:50:50 PDT 2016 mZxid = 0x200000003 mtime = Wed May 18 09:53:55 PDT 2016 pZxid = 0x200000002 cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 7 numChildren = 0 [zk: master:2181(CONNECTED) 8] delete /newfile [zk: master:2181(CONNECTED) 9] ls / [zookeeper] [zk: master:2181(CONNECTED) 10] quit Quitting... 2016-05-18 09:56:03,079 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x154c4bf7e640000 closed 2016-05-18 09:56:03,080 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@509] - EventThread shut down

    Ref

    • http://www.iteblog.com/archives/904

    征集

    如果你也需要使用ProcessOn這款在線繪圖工具,可以使用如下邀請鏈接進行注冊:
    https://www.processon.com/i/56205c2ee4b0f6ed10838a6d

    總結(jié)

    以上是生活随笔為你收集整理的ZooKeeper 3.4.5 分布式环境搭建详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。