您的位置:首页 > 其它

ZooKeeper-3.4.6集群安装配置

2017-07-20 15:41 435 查看
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 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=/home/zookeeper/data
dataLogDir=/home/zookeeper/log
# the port at which the clients will connect
clientPort=2181
server.1=192.168.10.249:2888:3888
server.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:2181
Connecting to 192.169.10.249:2181
2017-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 GMT
2017-07-20 00:18:40,240 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=node8
2017-07-20 00:18:40,240 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_102
2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2017-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/jre
2017-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/lib
2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2017-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=Linux
2017-07-20 00:18:40,244 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-514.el7.x86_64
2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2017-07-20 00:18:40,245 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/zookeeper/zookeeper-3.4.6/bin
2017-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@3eb07fd3
Welcome 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 reconnect
2017-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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper