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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CentOS下ZooKeeper单机模式、集群模式安装

發布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS下ZooKeeper单机模式、集群模式安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文環境如下:
操作系統:CentOS 6 32位
ZooKeeper版本:3.4.8

0. 環境需求

Zookeeper需要JDK1.6以上版本的Java環境
可以參考:
CentOS 6使用rpm方式安裝JDK8

1. 下載軟件包

到ZooKeeper官網上http://zookeeper.apache.org/下載軟件包,例如:

wget "http://apache.opencas.org/zookeeper/stable/zookeeper-3.4.8.tar.gz" tar -xzvf zookeeper-3.4.8.tar.gz mv zookeeper-3.4.8 /opt

2. 單機模式

2.1 修改配置文件

cd /opt/zookeeper-3.4.8/conf/ cp zoo_sample.cfg zoo.cfg vi zoo.cfg

Zookeeper提供了一份默認的配置文件,復制為zoo.cfg打開后,我們需要修改數據存放的路徑:

dataDir=/opt/zookeeper-3.4.8/data

2.2 運行Zookeeper

cd /opt/zookeeper-3.4.8/bin/ ./zkServer.sh start

如果運行無報錯,說明Zookeeper啟動成功了。
為了以后操作方便,我們可以將Zookeeper/bin添加到path

vi /etc/profile

在末尾添加:

ZOOKEEPER_HOME=/opt/zookeeper-3.4.8 PATH=$PATH:$ZOOKEEPER_HOME/bin

更新配置:

source /etc/profile

3. 集群模式

單機模式非常方便,適合開發、測試場景,但是在生產環境中,應該運行一個集群模式。集群模式至少應該有3個節點,并且強烈建議是奇數個節點,每個節點應該有相同的配置文件。

3.1 修改配置文件

cd /opt/zookeeper-3.4.8/conf/ vi zoo.cfg

打開后,修改為:

tickTime=2000 dataDir=/opt/zookeeper-3.4.8/data clientPort=2181 initLimit=5 syncLimit=2 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888

server后面跟的數字就是該節點的標號,我們需要將這個編號寫入名為myid的文件。該文件應該存放在前面配置的dataDir指向的目錄下。
例如上面的slave1節點,對應的data/myid文件中應該寫入2。

3.2 拷貝文件夾

scp -r /opt/zookeeper-3.4.8 root@slave1:/opt/ scp -r /opt/zookeeper-3.4.8 root@slave2:/opt/

拷貝完成后,記得修改對應服務器的myid文件。

3.3 啟動服務

需要到每個節點上啟動Zookeeper服務,每個節點啟動后可以用zkServer.sh status查看當前節點的啟動狀態以及是leader節點還是follower節點。

4. 異常分析

運行日志文件默認在程序目錄下的zookeeper.out。

4.1 無法連接

2016-04-13 05:18:21,531 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address slave1/5.2.8.5:3888 java.net.ConnectException: Connection refusedat java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:354)at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452)at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433)at java.lang.Thread.run(Thread.java:745)

出現這個異常,可能是zookeeper節點的防火墻是開啟狀態并且沒有打開相應端口(2888,3888);也可能是有節點未啟動或者掛掉了。

總結

以上是生活随笔為你收集整理的CentOS下ZooKeeper单机模式、集群模式安装的全部內容,希望文章能夠幫你解決所遇到的問題。

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