Linux 上搭建 Zookeeper集群

4 篇文章 0 订阅
2 篇文章 0 订阅

1.zookeeper介绍

ZooKeeper是一个 分布式的,开放源码的 分布式应用程序协调服务,是 Google的Chubby一个 开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集, [1]  提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。


2.安装环境

系统: CentOS6.8

zookeeper版本:3.4.9

服务(3台): 192.168.1.11  , 192.168.1.12   ,192.168.1.13   (集群搭建要2n+1台服务)

需安装java环境(JDK) 参考: http://blog.csdn.net/lkl_csdn/article/details/73160530


3.zookeeper集群搭建

在 root目录下 执行命令  mdkir software software/zookeeper 

执行命令 cd software/zookeeper

1.下载zookeeper


3.1.1 执行命令  wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz  在线下载(有网络)

 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

3.1.2 然后解压  tar -zxvf zookeeper-3.4.9.tar.gz

 tar -zxvf zookeeper-3.4.9.tar.gz

4.安装zookeeper


4.1 进入解压后目录的conf目录下 执行命令 cd zookeeper-3.4.9/conf/  如图:


执行命令 ls 如图:


执行命令 cp zoo_sample.cfg zoo.cfg 如图:



4.2 编辑 zoo.cfg 文件 执行命令  vim zoo.cfg  文件内容如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/software/zookeeper/zkdata (此路径指向myid位置)
dataLogDir=/root/software/zookeeper/logs(此路径指向日志位置)
clientPort=2181
server.1=192.168.1.11:2888:3888
server.2=192.168.1.12:2888:3888
server.3=192.168.1.13:2888:3888


保存并退出


4.3 在 zookeeper目录下执行命令 mkdir zkdata logs



4.4 最后把zookeeper文件复制到其他服务上去

执行命令:

scp -r /root/software/zookeeper/ 192.168.1.12:/root/software/zookeeper 

scp -r /root/software/zookeeper/ 192.168.1.13:/root/software/zookeeper

scp -r /root/software/zookeeper/ 192.168.1.12:/root/software/zookeeper 

scp -r /root/software/zookeeper/ 192.168.1.13:/root/software/zookeeper


4.5 在创建zookeeper节点表示文件是myid(在zookeeper目录下) 创建myid编号,一次在每台server上执行,注意每台server的myid要对应正确的编号:

在 192.168.1.11这台server上执行命令:echo "1">zkdata/myid

192.168.1.12这台server上执行命令echo "2">zkdata/myid

192.168.1.13这台server上执行命令 echo "3">zkdata/myid


4.6 配置环境变量并使环境变量立即生效(环境变量也可不配)

vim /etc/profile

添加内容如下:

export ZOOKEEPER_HOME=/root/software/zookeeper/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH

export ZOOKEEPER_HOME=/root/software/zookeeper/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH


保存生效:source /etc/profile

在另外两台server上执行同样的操作。

5 启动zookeeper


5.1启动服务

进入解压文件的bin目录下:

执行命令:zkServer.sh start (启动)

执行命令:zkServer.sh statut (查看状态) 查看是否启动成功

启动成功:


启动失败:


如果启动失败可以去bin目录下查看日志文件 cat zookeeper.out

也可以去自己创建的logs目录下查看日志文件,注意:要每天server的防火墙都要关闭,并且要都启动才有可能启动成功  之启动一台是无法启动成功的 

关闭CentOS的防火墙命令是:service iptables stop


5.1 连接zookeeper服务 

在bin目录在执行 : ./zkServer.sh -server 192.168.1.11:2181启动服务




6.zk客户端命令

1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容

2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据

3. 创建文件,并设置初始内容: create /zk “test” 创建一个新的 znode节点“ zk ”以及与它关联的字符串

4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串

5. 修改文件内容: set /zk “zkbak” 对 zk 所关联的字符串进行设置

6. 删除文件: delete /zk 将刚才创建的 znode 删除

7. 退出客户端: quit

8. 帮助命令: help



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值