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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Zookeeper集群搭建(配置详解)

發布時間:2023/12/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper集群搭建(配置详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件環境準備:

  • Linux服務器一臺、三臺、五臺(2*n+1臺);
  • Java jdk 1.7;
  • zookeeper 3.4.6版;

軟件安裝:

  • 解壓jdk、zookeeper文件到指定目錄,執行命令tar -zvxf xxxx.tar.gz -C /usr/local/program
  • 配置環境變量,vi /etc/profile
  • #set enviroment export JAVA_HOME=/usr/local/program/jdk1.7.0_79 export ZK_HOME=/usr/local/program/zk/zookeeper-3.4.6 export PATH=$JAVA_HOME/bin:$ZK_HOME/bin:$PATH

  • java -version 命令測試是否成功配置jdk
  • [root@localhost ~]# java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

  • 配置zookeeper;首先建立兩個文件夾mkdir /usr/local/program/zk/zkdata ,mkdir /usr/local/program/zk/zkdataLog?
  • 然后執行命令cd /usr/local/program/zk/zookeeper-3.4.6/conf/ 進入配置文件目錄,拷貝一份配置文件cp zoo_sample.cfg zoo.cfg改名為zoo.cfg
  • 編輯配置文件修改配置(將端口改大的目的是為了防止沖突):
  • # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/usr/local/program/zk/zkdata dataLogDir=/usr/local/program/zk/zkdataLog # the port at which the clients will connect clientPort=12181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=192.168.0.102:12888:13888 server.2=192.168.0.103:12888:13888 server.3=192.168.0.104:12888:13888

  • 進入zkdata目錄,執行命令echo “1” > myid創建myid文件并輸入值為1
  • 依次在另外兩臺機器上執行同樣的操作,myid的數值依次為2,3
  • 配置成功,執行命令zkServer.sh start分別啟動三臺機器
  • 執行命令zkServer.sh status查看對應的狀態發現出現:zookeeper Error contacting service. It is probably not running錯誤
  • 執行命令:tail -f zookeeper.out
    查看到錯誤記錄:
    2016-04-21 06:56:56,242 [myid:1] – WARN ?[QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:Follower@89] – Exception when following the leader
    java.net.NoRouteToHostException: No route to host
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at org.apache.zookeeper.server.quorum.Learner.connectToLeader(Learner.java:225)
    at org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:71)
    at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:786)

  • 經驗證:防火墻的問題,執行命令service iptables stop關閉防火墻(如要永久關閉防火墻執行命令:chkconfig iptables off)
  • 重啟機器,執行命令zkServer.sh status 分別查看每臺機器的狀態為leader、follower、follower則表明啟動成功
  • 配置說明:

    作用: leader:從客戶端接收讀寫請求,響應讀寫請求,向slaver發送數據 slaver:從leader同步數據,當leader失敗時,從新投票選舉新的leader配置詳解: myid:位于快照目錄,是用來標識本臺機器在集群中的唯一標識 zoo.cfg:tickTime:是initLimit 和 syncLimit的時間單位(毫秒)initLimit:集群機器之間的同步時間,比如啟動m1,s1在這個時間段內必須都起來syncLimit:leader與follower之間的通信時間(心跳),超時則說明follower失敗#快照日志的存儲路徑 dataDir=/usr/local/program/zk/zkdata #zk事物日志存儲目錄 (如果不配置zkdataLog那么快照日志和事務日志都將寫到dataDir中,嚴重影響性能) dataLogDir=/usr/local/program/zk/zkdataLog # the port at which the clients will connect #本臺機器的端口,默認為2181 clientPort=12181 log4j.properties:日志文件,zookeeper.out位置bin下面,可以更改注意:需要定期清理事務日志文件,否則會造成性能下降(crontab) crontab -l查看當前用戶定時任務 crontab -e編輯定時任務 (例:0 0 * * 0 sh /usr/local/program/zk/cleanup.sh) 另外2臺機器執行同樣的操作#server.1標識本臺機器,通過myid文件指定id=1;ip:機器之間通信端口(默認為2888):leader選舉端口(默認為3888) server.1=192.168.0.102:12888:13888 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Zookeeper集群搭建(配置详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。