<从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-第5章zookeeper安装

本文属于分布式系统学习笔记系列,上篇文章整理了整理了第四章ZAB协议。本篇继续梳理第5章。本文介绍:安装zookeeper。

一 zookeeper安装

1.1下载

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

1.2上传并解压

tar -zxvf zookeeper-3.4.8.tar.gz 


这里我找了一台机器,解压过程太多了显示不全,书上还提到了环境jdk。这里已经配好了不多介绍。

另外一点,zookeeper模式分为集群与单机,实际应用中都是集群,这里为了演示就介绍单机。

1.3 创建data文件目录并修改配置文件


我们用vi 来修改配置文件


简要参数说明:

tickTime:默认2000,单位毫秒,用于配置zookeeper中最小时间长度。下面别的参数会与之相关。

initLimit:默认为10,是个正整数,必须配置。

作用:这个配置项是用来配置 Zookeeper leader服务器接受客户端(Follower服务器)启动并完成数据同步的时间。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。通常不用调整,当集群很大的时候有必要调大

syncLimit:默认值为5,是个正整数,必须配置。

作用:这个配置项标识 Leader 与 Follower 之间进行心跳机制的最大时延时间。也就是不能超过多少个 tickTime 的时间长度。超过了leader就会认为follower已经脱离了和自己的同步。

dataDir:用于存储zookeeper服务器快照文件的目录。默认在/tmp下,一般需要指向实际位置。

如果没有配置dataLogDir,那么事务日志也会记录在这里面,考虑到写日志影响到zookeeper整体服务能力,所以一般也会单独配置dataLogDir目录。

server.id:host:port:port 该参数无默认值,单机情况下可以不配,用于配置集群模式下组成zookeeper的机器列表。每一行代表一个机器的配置。参数含义如下:

id 是一个数字(1-255),表示这个是第几号服务器;同时,我们需要在每个机器对应的dataDir下创建一个myid的文件,文件就一行内容,就是每个机器对应的id数字。注意确保id的唯一性。

host 是这个服务器的 IP地址或/etc/hosts 文件中映射了 IP 的主机名;

port:第一个端口是这个服务器与集群中的 Leader服务器通信和数据同步的端口。 

   第二个端口是专用于leader选举期间投票通信。

如果是伪集群的配置方式,由于host都是一样,所以要给它们分配不同端口号.下图是从书上第八章截取的示例图。


1.4创建myid文件

进入data目录并创建myid文件。
vi myid
编辑  myid  文件,并在对应的  IP  的机器上输入对应的编号,之前我们介绍过,所以输入1.


如果是集群模式,按照上述步骤,为其他机器都配置上zoo.cfg和myid.

1.5启动服务器

通常情况下,为了使用方便需要吧zookeeper添加到环境变量。不然直接运行会提示

-bash: zkServer.sh: command not found。

这台机器我没权限修改环境变量(/etc/profile),所以直接到bin目录下执行

 ./zkServer.sh start


1.6 验证服务器

jps


其中,QuorumPeerMain 是 zookeeper 进程,启动正常

stat


单机模式所以Mode显示为standalone,集群模式会显示leader or follower。

日志输出在zookeeper.out里面。

1.7 停止


如上所示,执行stop命令就可以停止。

附带说一下bin的脚本功能。

zkCleanup.sh 用于清理zookeeper的历史数据,包括事务日志文件及快照数据文件。

zkCli.sh  用于简单客户端命令。

zkEnv.sh 设置zookeeper的环境变量。

zkServer.sh 用于zookeeper服务器的启动、停止和重启。

总结:

本书第8章详细介绍了zookeeper配置有关的参数。可以结合之前的系统模型去理解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值