Centos-7.2 搭建 Zookeeper-3.5.3 单机版安装与测试



《 Centos7 搭建单机版 Zookeeper 分布式应用程序协调服务 》




一、前言

1、简介:

 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。



2、原理:
 ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。
ZooKeeper的基本运转流程:
1)、选举Leader。
2)、同步数据。
3)、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4)、Leader要具有最高的执行ID,类似root权限。
5)、集群中大多数的机器得到响应并接受选出的Leader。



二、生产环境
操作系统:Centos7

zookeeper 版本:zookeeper-3.5.3

JDK 版本 : jdk-1.8




三、配置

首先需要安装 JDK 环境哟,在这儿可以参考一下 《 Linux下Jdk1.8的安装与环境变量配置教程 》

1)、下载 zookeeper-3.5.3

《 zookeeper-3.5.3 新版分布式应用程序协调服务 CSDN 下载 》

下载完成后,解压获得 zookeeper 包,并上传到 Linux 服务器,输入命令 “ tar -xvf zookeeper-3.5.3-beta.tar.gz ”,解压完成后,如下图:



注意:这个压缩包没有用gzip格式压缩,所以不用加 z 参数。

如果加上 z 参数,解压失败,如下图:





2)、为了便于集中管理,将 zookeeper 复制到指定目录,输入命令 “ cp zookeeper-3.5.3-beta /usr/local/zookeeper -r ” ,copy 成功后,如下图:



3)、zookeeper 配置
首先创建两个目录,分别为 zookeeper_data 数据目录,和 zookeeper_logs 日志目录
输入命令 “ mkdir /home/temp/zookeeper/zookeeper_data -p ”,“ mkdir /home/temp/zookeeper/zookeeper_logs -p ” ,创建完成后,如下图:




接下来修改 zookeeper 的配置文件

# zookeeper 中的一个时间单元,以毫秒为单位
tickTime=2000
# follower 在启动过程中,会从leader同步所有最新数据,然后确定自己能够对外服务的起始状态。
# leader 允许在 initLimit 时间内完成这个工作
initLimit=10
# 如果 leader 发出心跳包在 syncLimit 之后,还没有从 follower 那里收到响应,那么就认为这个已经不在线了
syncLimit=5
# 存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。
# 建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
dataDir=/home/temp/zookeeper/zookeeper_data
# 在这个指定了日志的目录,日志存放在指定的日志目录中
dataLogDir=/home/temp/zookeeper/zookeeper_logs
# 客户端连接server的端口,即对外服务端口
clientPort=2181
# 单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,
# 如果设置为0,那么表明不作任何限制
#maxClientCnxns=60
# 这个参数和下面参数配合使用
# 指定了需要保留的文件数目。默认是保留3个
#autopurge.snapRetainCount=3
# 3.4.0 及之后版本,zookeeper 提供了自动清理事务日志和快照文件的功能,
# 这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,
# 0表示不开启自动清理功能
#autopurge.purgeInterval=1






关于这个配置文件的修改,如果你有更好的解决方案,或者需求,可以自行修改,修改完成如下图:




4)、zookeeper 启动/停止
输入命令 “ ./zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|restart|status|print-cmd} ”

启动 zookeeper ,输入命令 “ ./zkServer.sh start ” ,启动成功,如下图:




查看 zookeeper 进程,输入命令 “ ps aux|grep zookeeper ” ,说明 zookeeper 启动正常,如下图:




查看 zookeeper 状态等,如下图:




停止 zookeeper ,输入命令 “ ./zkServer.sh stop ” ,停止成功,如下图:






5)、测试 zkCli
《zookeeper_cli 客户端命令实战操作详解》




好了,到这儿说明 zookeeper 单机模式配
置成功了。
这个只是作为入门,但万事都必须从入门开始的。在实际生产环境中,我们需要的可能不是单机模式,而是 《 zookeeper 的集群模式 》,这样才能真正的体现出 zookeeper 的实用之处。










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值