ZooKeeper-3.4.6集群安装配置

来源:互联网 发布:garageband知乎 编辑:程序博客网 时间:2024/06/05 20:41

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。

有关ZooKeeper的介绍,网上很多,也可以参考文章后面,我整理的一些相关链接。

下面,我们简单说明一下ZooKeeper的配置。



1.下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ 

cd /usr/local/zookeeper

wget http://mirror.bit.edu.cn/apache/zookeeper/ 


2.解压到指定目录 
准备三台Linux服务器,每台服务器都放zookeeper压缩文件。解压zookeeper-3.4.6.tar.gz到一个目录下,比如解压到根目录下/zookeeper 文件夹 
解压命令: 
tar zxvf zookeeper-3.4.6.tar.gz


3.cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/home/zookeeper/datadataLogDir=/home/zookeeper/log# the port at which the clients will connectclientPort=2181server.1=192.168.10.249:2888:3888server.2=192.168.10.244:2888:3888


4.
设置myid

在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:


5.启动ZooKeeper集群

在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:


[root@node8 bin]# ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED


[root@node8 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

测试成功。


6.

[root@node8 bin]# ./zkCli.sh -server 192.169.10.249:2181Connecting to 192.169.10.249:21812017-07-20 00:18:40,235 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT2017-07-20 00:18:40,240 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=node82017-07-20 00:18:40,240 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_1022017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper/zookeeper-3.4.6/bin/../build/classes:/usr/local/zookeeper/zookeeper-3.4.6/bin/../build/lib/*.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../zookeeper-3.4.6.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../src/java/lib/*.jar:/usr/local/zookeeper/zookeeper-3.4.6/bin/../conf:2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd642017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-514.el7.x86_642017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/zookeeper/zookeeper-3.4.6/bin2017-07-20 00:18:40,247 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=192.169.10.249:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3eb07fd3Welcome to ZooKeeper!2017-07-20 00:18:40,289 [myid:] - INFO  [main-SendThread(192.169.10.249:2181):ClientCnxn$SendThread@975] - Opening socket connection to server 192.169.10.249/192.169.10.249:2181. Will not attempt to authenticate using SASL (unknown error)JLine support is enabled[zk: 192.169.10.249:2181(CONNECTING) 0] 2017-07-20 00:19:10,410 [myid:] - INFO  [main-SendThread(192.169.10.249:2181):ClientCnxn$SendThread@1096] - Client session timed out, have not heard from server in 30127ms for sessionid 0x0, closing socket connection and attempting reconnect2017-07-20 00:19:11,515 [myid:] - INFO  [main-SendThread(192.169.10.249:2181):ClientCnxn$SendThread@975] - Opening socket connection to server 192.169.10.249/192.169.10.249:2181. Will not attempt to authenticate using SASL (unknown error)


启动Zookeeper 
启动Zookeeper命令: 
./zkServer.sh start 
查看集群的状态: 
./zkServer.sh status






原创粉丝点击