经过上一篇博文的简单介绍,相信大家对ZooKeeper有了一些初步的了解,那么,此篇博文,开始讲述Zookeeper的本地模式安装部署及配置参数解读。
在此博主先把自己用的ZooKeeper包上传到百度网盘,如有需要的可自行提取,在文章的最后也会介绍怎样在官网下载的。 链接:https://pan.baidu.com/s/178EYOx9N5rHZyjRnrHu13Q
提取码:199b
安装ZooKeeper前的注意事项:
以上的准备,如果有不了解同学,可以看博主之前的《Hadoop运行环境的具体搭建过程(超详细)》这篇博文讲解的很清晰。
[bigdata@hadoop001 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
[bigdata@hadoop001 conf]$ mv zoo_sample.cfg zoo.cfg
[bigdata@hadoop001 zookeeper-3.4.10]$ vim zoo.cfg
[bigdata@hadoop001 zookeeper-3.4.10]$ mkdir zkData
[bigdata@hadoop001 zookeeper-3.4.10]$ mkdir zkData
[bigdata@hadoop001 zookeeper-3.4.10]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED # 这时,一般就启动成功了
[bigdata@hadoop001 zookeeper-3.4.10]$ jps
2653 QuorumPeerMain
2670 Jps
[bigdata@hadoop001 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone
[bigdata@hadoop001 zookeeper-3.4.10]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] quit
Quitting...
2020-04-27 21:14:23,320 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@519] - EventThread shut down for session: 0x171bbbf969b0001
2020-04-27 21:14:23,325 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x171bbbf969b0001 closed
[bigdata@hadoop001 zookeeper-3.4.10]$ bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。 它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
集群中的follower跟随者服务器(F)与leader领导者服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。 投票选举新leader的初始化时间。 Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。 Leader允许F在initLimit时间内完成这个工作。
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。 在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。 如果L发出心跳包在syncLimit之后,还没有从F那收到响应,那么就认为这个F已经不在线了。
主要用于保存Zookeeper中的数据。
监听客户端连接的端口。
本篇博客就到这里了,下一篇博客博主将为大家带来Zookeeper的内部原理,敬请期待!!!