Zookeeper分布式集群搭建

Zookeeper分布式集群搭建

一.描述

在centos7上搭建zookeeper集群,zookeeper运行依赖于java环境

# 查看java版本
java -version
二.步骤

1. 安装环境准备

准备三台centos7服务器,我用的VM虚拟机,ip分别为:

  • 192.168.3.10
  • 192.168.3.12
  • 192.168.3.13

2. 下载安装zookeeper
以其中192.168.3.10为例,其他两台安装过程一样
zookeeper下载地址,下载好zookeeper-3.4.9.tar.gz,解压

[root@zookeeper ~]# tar -zxvf zookeeper-3.4.9.tar.gz

进入zookeeper中的conf目录

[root@zookeeper conf]# cp zoo-sample.cfg zoo.cfg

进入bin目录,启动zookeeper,进行单机操作

# 启动
[root@zookeeper bin]# sh zkServer.sh start
# 查看状态
[root@zookeeper bin]# sh zkServer.sh status
# 连接
[root@zookeeper bin]# sh zkCli.sh
# 停止
[root@zookeeper bin]# sh zkServer.sh stop

上述操作没有问题可以进行zookeeper的集群配置

3. zookeeper集群配置
编辑zoo.cfg文件,以192.168.3.10为例,修改配置

[root@zookeeper conf]# vim zoo.cfg

# 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=/apps/servers/data/d_1
dataLogDir=/apps/servers/logs/logs_1
# 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=1
server.1=192.168.3.10:2188:2888
server.2=192.168.3.12:2188:2888
server.3=192.168.3.13:2188:2888

在原有基础上修改dataDir目录,增加dataLogDir和sever配置

dataDir=/apps/servers/data/d_1
dataLogDir=/apps/servers/logs/logs_1
server.1=192.168.3.10:2188:2888
server.2=192.168.3.12:2188:2888
server.3=192.168.3.13:2188:2888

192.168.3.12和 192.168.3.13同上

修改过后创建dataDir和dataLogDir,以及指定server.id

#创建dataDir和dataLogDir目录
[root@zookeeper conf]# mkdir -p /apps/servers/data/d_1
[root@zookeeper conf]# mkdir -p /apps/servers/logs/logs_1 

#指定192.168.3.10的id
[root@zookeeper conf]# echo "1">/apps/servers/data/d_1/myid

192.168.3.12 中

#创建dataDir和dataLogDir目录
[root@zookeeper conf]# mkdir -p /apps/servers/data/d_2
[root@zookeeper conf]# mkdir -p /apps/servers/logs/logs_2 

#指定192.168.3.12的id
[root@zookeeper conf]# echo "2">/apps/servers/data/d_2/myid

192.168.3.13 中

#创建dataDir和dataLogDir目录
[root@zookeeper conf]# mkdir -p /apps/servers/data/d_3
[root@zookeeper conf]# mkdir -p /apps/servers/logs/logs_3 

#指定192.168.3.13的id
[root@zookeeper conf]# echo "3">/apps/servers/data/d_3/myid

4. 启动集群

检查并关闭防火墙

#查看防火墙的状态
firewall-cmd --state
#开启防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service

进入bin目录,依次启动zookeeper

sh zkServer.sh start 

测试连接是否成功

sh zkCli.sh -server 192.168.3.10:2181,192.168.3.12:2181,192.168.3.13:2181

2018-11-15 13:33:16,523 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2018-11-15 13:33:16,525 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=zookeeper
2018-11-15 13:33:16,525 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_181
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/local/jdk1.8.0_181/jre
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/root/zookeeper-3.4.9/bin/../build/classes:/root/zookeeper-3.4.9/bin/../build/lib/*.jar:/root/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/root/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/root/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/root/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/root/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/root/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/root/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/root/zookeeper-3.4.9/bin/../conf:/usr/local/jdk1.8.0_181/lib/
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-862.el7.x86_64
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2018-11-15 13:33:16,527 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2018-11-15 13:33:16,528 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/root/zookeeper-3.4.9/bin
2018-11-15 13:33:16,529 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.3.10:2181,192.168.3.12:2181,192.168.3.13:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@67424e82
2018-11-15 13:33:16,556 [myid:] - INFO  [main-SendThread(192.168.3.12:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.3.12/192.168.3.12:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2018-11-15 13:33:16,625 [myid:] - INFO  [main-SendThread(192.168.3.12:2181):ClientCnxn$SendThread@876] - Socket connection established to 192.168.3.12/192.168.3.12:2181, initiating session
2018-11-15 13:33:16,672 [myid:] - INFO  [main-SendThread(192.168.3.12:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.3.12/192.168.3.12:2181, sessionid = 0x26715da4f250000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 192.168.3.10:2181,192.168.3.12:2181,192.168.3.13:2181(CONNECTED) 1] ls /
[zookeeper]


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值