(个人)Zookeeper集群环境部署
生活随笔
收集整理的這篇文章主要介紹了
(个人)Zookeeper集群环境部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.準備工作
1. 下載zookeeper,下載地址:https://zookeeper.apache.org/releases.html#download?2. 下載CentOS7的鏡像,下載地址:https://www.centos.org/download/3. 準備XManager,用于遠程連接Linux,我用的是CentOS7.4. 準備VMVare Workstation,安裝好3臺以上(至少3臺才能集群)CentOS75. 設置好CentOS的JDK,本人使用的是最新的JDK8
a.?2888表示follower節點與leader節點交換信息的端口號b. 3181是在leader節點掛掉后,進行leader選舉需要的端口.本步驟完成后,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=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 # 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=1server.1=192.168.100.10:2888:3181 server.2=192.168.100.11:2888:3181 server.3=192.168.100.12:2888:31815. 在ZK_HOME的zoo.cfg中有一個
dataDir=/tmp/zookeeper此時需要在該指定目錄下創建myid文件,其中的文件內容為zoo.cfg最后部分的配置獲取.獲取規則:假設本機ip為192.168.100.10 那么此時的myid文件中只有一行內容各位1cd /tmp mkdir /zookeeper vim myid ---通過vim設置myid6. 啟動啟動ZK跳轉到ZK的bin目錄下,然后運行-- 啟動zookeeper ./zkServer.sh start -- 查看運行狀態 ./zkServer.sh status 7. 連接zookeeper,其中連接端口為2181?zkCli.sh -server 192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181如果連接成功可以看到如下信息2017-08-19 01:48:03,042 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT 2017-08-19 01:48:03,057 [myid:] - INFO [main:Environment@100] - Client environment:host.name=localhost 2017-08-19 01:48:03,057 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_144 2017-08-19 01:48:03,075 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation 2017-08-19 01:48:03,076 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.8.0_144/jre 2017-08-19 01:48:03,076 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/lcf-tools/zookeeper-3.4.10/bin/../build/classes:/lcf-tools/zookeeper-3.4.10/bin/../build/lib/*.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/lcf-tools/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/lcf-tools/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/lcf-tools/zookeeper-3.4.10/bin/../conf: 2017-08-19 01:48:03,079 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-08-19 01:48:03,080 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 2017-08-19 01:48:03,080 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA> 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/lcf-tools/zookeeper-3.4.10/conf 2017-08-19 01:48:03,087 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1a86f2f1 2017-08-19 01:48:03,195 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.100.10/192.168.100.10:2181. Will not attempt to authenticate using SASL (unknown error) Welcome to ZooKeeper! JLine support is enabled 2017-08-19 01:48:03,746 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@876] - Socket connection established to 192.168.100.10/192.168.100.10:2181, initiating session [zk: 192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181(CONNECTING) 0] 2017-08-19 01:48:04,093 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.100.10/192.168.100.10:2181, sessionid = 0x15df975935c0000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
--------------------------------------------------------------- Ubuntu(ubuntu-12.04-desktop-amd64) 查看防火墻狀態:ufw status 關閉防火墻:ufw disable --------------------------------------------------------------- centos6.0 查看防火墻狀態:service iptables status 關閉防火墻:chkconfig iptables off #開機不啟動防火墻服務 -------------------------------------------------------------- centos7.0(默認是使用firewall作為防火墻,如若未改為iptables防火墻,使用以下命令查看和關閉防火墻) 查看防火墻狀態:firewall-cmd --state 關閉防火墻:systemctl stop firewalld.service5. 提示 Address aready in use ,該問題應該是端口被占用,通過如下指令查看端口占用:-----查看端口占用------ 方法一 lsof -i:端口號 方法二 netstat -tunlp|grep 端口號 -----殺掉進程--------- 推薦方法 kill -s 9 3382 其中9為盡快殺掉進程的意思 3382為pid
1. 下載zookeeper,下載地址:https://zookeeper.apache.org/releases.html#download?2. 下載CentOS7的鏡像,下載地址:https://www.centos.org/download/3. 準備XManager,用于遠程連接Linux,我用的是CentOS7.4. 準備VMVare Workstation,安裝好3臺以上(至少3臺才能集群)CentOS75. 設置好CentOS的JDK,本人使用的是最新的JDK8
二. Zookeeper部署
說明:該教程是在一個機器上部署的,請求1-5步完成后,重復在其他機器上進行操作.1. 將下載好的?zookeeper-3.4.10.tar.gz(我當前版本)?通過XFTP上傳到Linux的指定目錄,假設為 ZK_HOME?2. 在ZK_HOME中解壓zookeepertar -zxvf zookeeper-3.4.10.tar.gz3. 在ZK_HOME的conf目錄中,復制zookeeper的配置為zoo.cfg(zk啟動時候默認的配置文件)cd /ZK_HOME cp zoo_sample.cfg zoo.cfg ---如果是單機環境部署,可以直接通過此命令啟動. ---ZK的啟動參數有: {start|start-foreground|stop|restart|status|upgrade|print-cmd} ./zkServer.sh start 4. 在ZK_HOME的conf目錄的zoo.cfg的最后添加如下配置:server.1=192.168.100.10:2888:3181 server.2=192.168.100.11:2888:3181 server.3=192.168.100.12:2888:3181說明:a.?2888表示follower節點與leader節點交換信息的端口號b. 3181是在leader節點掛掉后,進行leader選舉需要的端口.本步驟完成后,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=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 # 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=1server.1=192.168.100.10:2888:3181 server.2=192.168.100.11:2888:3181 server.3=192.168.100.12:2888:31815. 在ZK_HOME的zoo.cfg中有一個
dataDir=/tmp/zookeeper此時需要在該指定目錄下創建myid文件,其中的文件內容為zoo.cfg最后部分的配置獲取.獲取規則:假設本機ip為192.168.100.10 那么此時的myid文件中只有一行內容各位1cd /tmp mkdir /zookeeper vim myid ---通過vim設置myid6. 啟動啟動ZK跳轉到ZK的bin目錄下,然后運行-- 啟動zookeeper ./zkServer.sh start -- 查看運行狀態 ./zkServer.sh status 7. 連接zookeeper,其中連接端口為2181?zkCli.sh -server 192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181如果連接成功可以看到如下信息2017-08-19 01:48:03,042 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT 2017-08-19 01:48:03,057 [myid:] - INFO [main:Environment@100] - Client environment:host.name=localhost 2017-08-19 01:48:03,057 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_144 2017-08-19 01:48:03,075 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation 2017-08-19 01:48:03,076 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.8.0_144/jre 2017-08-19 01:48:03,076 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/lcf-tools/zookeeper-3.4.10/bin/../build/classes:/lcf-tools/zookeeper-3.4.10/bin/../build/lib/*.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/lcf-tools/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/lcf-tools/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/lcf-tools/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/lcf-tools/zookeeper-3.4.10/bin/../conf: 2017-08-19 01:48:03,079 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-08-19 01:48:03,080 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 2017-08-19 01:48:03,080 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA> 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64 2017-08-19 01:48:03,081 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root 2017-08-19 01:48:03,082 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/lcf-tools/zookeeper-3.4.10/conf 2017-08-19 01:48:03,087 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1a86f2f1 2017-08-19 01:48:03,195 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.100.10/192.168.100.10:2181. Will not attempt to authenticate using SASL (unknown error) Welcome to ZooKeeper! JLine support is enabled 2017-08-19 01:48:03,746 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@876] - Socket connection established to 192.168.100.10/192.168.100.10:2181, initiating session [zk: 192.168.100.10:2181,192.168.100.11:2181,192.168.100.12:2181(CONNECTING) 0] 2017-08-19 01:48:04,093 [myid:] - INFO [main-SendThread(192.168.100.10:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.100.10/192.168.100.10:2181, sessionid = 0x15df975935c0000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
三. 補充內容
0. zookeeper目錄中各個文件的認識bin目錄 zk的可執行腳本目錄,包括zk服務進程,zk客戶端,等腳本。其中,.sh是Linux環境下的腳本,.cmd是Windows環境下的腳本。 conf目錄 配置文件目錄。zoo_sample.cfg為樣例配置文件,需要修改為自己的名稱,一般為zoo.cfg。log4j.properties為日志配置文件。 lib zk依賴的包。 contrib目錄 一些用于操作zk的工具包。1. 如果不想每次zookeeper都跳轉到zk的bin目錄,則可以將bin目錄加入全局path中.注意第3行和第5行末尾2. zookeeper啟動后會在bin目錄生成一個zookeeper.out的日志文件,可以通過tail指令進行查看如果覺得麻煩,還可以直接通過添加指令的形式一起啟動進行查看:3. zoo.cfg配置文件解讀4. 啟動后提示 ?java.net.NoRouteToHostException:No route to host 該問題為找不到路由,防火墻沒有關閉.--------------------------------------------------------------- Ubuntu(ubuntu-12.04-desktop-amd64) 查看防火墻狀態:ufw status 關閉防火墻:ufw disable --------------------------------------------------------------- centos6.0 查看防火墻狀態:service iptables status 關閉防火墻:chkconfig iptables off #開機不啟動防火墻服務 -------------------------------------------------------------- centos7.0(默認是使用firewall作為防火墻,如若未改為iptables防火墻,使用以下命令查看和關閉防火墻) 查看防火墻狀態:firewall-cmd --state 關閉防火墻:systemctl stop firewalld.service5. 提示 Address aready in use ,該問題應該是端口被占用,通過如下指令查看端口占用:-----查看端口占用------ 方法一 lsof -i:端口號 方法二 netstat -tunlp|grep 端口號 -----殺掉進程--------- 推薦方法 kill -s 9 3382 其中9為盡快殺掉進程的意思 3382為pid
總結
以上是生活随笔為你收集整理的(个人)Zookeeper集群环境部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Material DesignDrawe
- 下一篇: ELK集群的搭建和Elasticsear