Zookeeper分布式环境搭建

  • 一.分布式安装部署
    • 1.前置条件
    • 2.集群规划
    • 3.解压安装
    • 4.配置zoo.cfg文件
    • 5.集群操作
  • 二.配置参数解读
    • 1.tickTime
    • 2.initLimit:LF初始通信时限
    • 3.syncLimit:LeaderFollwer同步通信时限
    • 4.dataDir
    • 5.clientPort

一.分布式安装部署

1.前置条件

  • 安装三台linux虚拟机
  • jdk安装完成
  • 三台机器防火墙已经关闭

2.集群规划

在hadoop001、hadoop002和hadoop003三个节点上部署Zookeeper。

3.解压安装

(1)上传Zookeeper安装包到hadoop102主机/opt/software目录下,这边安装的是zookeeper-3.4.6.tar.gz。
(2)解压zookeeper安装包到/opt/目录下

[root@hadoop001 software]$ tar -zxf zookeeper-3.4.6.tar.gz -C /opt/

(3)修改一下名称或者建立软连接

#修改名称
[root@hadoop001 opt]$ mv zookeeper-3.4.6 zkpr
#建立软连接
[root@hadoop001 opt]$  ln -s zookeeper-3.4.6 /opt/zkpr

(4)在/opt/zkpr/目录下创建zkdata和zklogs

[root@hadoop001 opt]$ cd /opt/zkpr
[root@hadoop001 opt]$ mkdir -p zkdata
[root@hadoop001 opt]$ mkdir -p zklogs

(5)重命名/opt/zkpr/conf这个目录下的zoo_sample.cfg为zoo.cfg

[root@hadoop001 opt]$ cd /opt/zkpr/conf
[root@hadoop001 conf]$ mv zoo_sample.cfg zoo.cfg

4.配置zoo.cfg文件

[root@hadoop001 conf]# vi zoo.cfg

配置dataDir和 dataLogDir的值

dataDir=/opt/zkpr/zkdata
dataLogDir=/opt/zkpr/zklogs

在文件末尾增加以下配置

server.1=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888


参数含义解释:
Server.A=B:C:D
A:一个数字,表示每个服务器编号,注意必须唯一。
B:服务器的ip地址,规划了几个机器作为ZooKeeper服务器,就有几行记录,每一个机器都对应一行。
C:是这个服务器与集群中的Leader服务器交换信息的端口;
D:如果集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

5.集群操作

(1)在/opt/zkpr/zkdata/创建myid的文件

[root@hadoop001 zkdata]$  touch myid

(2)编辑myid文件

[root@hadoop001 zkdata]$  vi myid

在文件中添加与server对应的编号:如1
(3)将配置好的zookeeper分发到其他机器上

[root@hadoop001 ~]$ scp -r /opt/zkpr/ root@hadoop002:/opt/
[root@hadoop001 ~]$ scp -r /opt/zkpr/ root@hadoop003:/opt/

并分别在hadoop002、hadoop003修改myid文件中内容为2,3。
(4)配置环境变量
在每一台机器上给zookeeper配置环境变量。

[root@hadoop001 zkpr]# vi /etc/profile

添加以下配置

export ZK_HOME=/opt/zkpr
export PATH=$ZK_HOME/bin:$ZK_HOME/sbin:$PATH

让配置文件生效

[root@hadoop001 zkpr]# source /etc/profile

(5)分别启动ZooKeeper服务

[root@hadoop001 zkpr]#  zkServer.sh start
[root@hadoop002 zkpr]#  zkServer.sh start
[root@hadoop003 zkpr]#  zkServer.sh start

(6)jps查看进程

[root@hadoop001 zkpr]# jps
38861 QuorumPeerMain

(7)查看状态

[root@hadoop001 zkpr]#  zkServer.sh status
JMX enabled by default
Using config: /opt/zkpr/bin/../conf/zoo.cfg
Mode: follower[root@hadoop002 opt]# zkServer.sh status
JMX enabled by default
Using config: /opt/zkpr/bin/../conf/zoo.cfg
Mode: leader[root@hadoop003 ~]# zkServer.sh status
JMX enabled by default
Using config: /opt/zkpr/bin/../conf/zoo.cfg
Mode: follower

可以使用zkServer.sh stop关闭zookeeper服务。

二.配置参数解读

zoo.cfg文件的参数解读


# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
maxClientCnxns=0
# synchronization phase can take
initLimit=50
# The number of ticks that can pass between
# 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=/opt/zkpr/zkdata
dataLogDir=/opt/zkpr/zklogs
# 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=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888

1.tickTime

通信心跳数,ZooKeeper服务器心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)

2.initLimit:LF初始通信时限

集群中的Follwer跟随者服务器与Leader领导者服务器(Leader)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。投票选举新Leader的初始化时间,Follwer在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许Follwer在initLimit时间内完成这个工作。

3.syncLimit:LeaderFollwer同步通信时限

集群中Leader与Follwer之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。在运行过程中,Leader负责与ZooKeeper集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果Leader发出心跳包在syncLimit之后,还没有从Follwer那收到响应,那么就认为这个Follwer已经不在线了。

4.dataDir

数据文件目录+数据持久化路径
保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。

5.clientPort

客户端连接端口
监听客户端连接的端口

Zookeeper分布式环境搭建相关推荐

  1. ZooKeeper之分布式环境搭建

    第1关:仲裁模式与伪分布式环境搭建 本关任务:了解ZooKeeper的仲裁模式,掌握伪分布式安装. vi /opt/zookeeper-3.4.12/conf/zoo.cfg 增加以下内容并保存:se ...

  2. 2021年大数据环境搭建(二):分布式环境搭建

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...

  3. 最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)

    继续上次的教程,这次安装hbase与hive.之前有同学反应百度网盘中没有hbase安装包,这次补上了,在上篇博客的网盘链接中已经有了,最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程 ...

  4. Hadoop入门基础教程 Hadoop之完全分布式环境搭建

    上一篇我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所 ...

  5. Hadoop单机和伪分布式环境搭建

    hadoop环境搭建 1.三个环境        单机.伪分布式.分布式 2.三个分支       apache版本(Apache基金会)       cdh版本(cloudera公司)       ...

  6. jmeter分布式环境搭建

    jmeter分布式环境搭建部署 jmeter分布式环境搭建 Jmeter运行方式:GUI和非GUI GUI.非GUI遇到的问题 如何解决? Jmeter分布式部署流程 Jmeter非GUI运行时动态参 ...

  7. Hadoop2.2.0伪分布式环境搭建(附:64位下编译Hadoop-2.2.0过程)

    Hadoop2.2.0伪分布式环境搭建: 写在前面:Hadoop2.2.0默认是支持32位的OS,如果想要在64位OS下运行的话,可以通过在64位OS下面编译Hadoop2.2.0来实现,编译的操作步 ...

  8. 1 Hadoop 3.2.4分布式环境搭建

    1 Hadoop 3.2.4分布式环境搭建 1 系统配置 3台centOS虚拟机 # 配置hosts解析 vim /etc/hosts192.168.88.129 hadoop1 192.168.88 ...

  9. HDFS伪分布式环境搭建-很不错

    HDFS伪分布式环境搭建 原创 ZeroOne01 2018-03-24 19:51:20 评论(0) 655人阅读 HDFS概述及设计目标 什么是HDFS: 是Hadoop实现的一个分布式文件系统( ...

最新文章

  1. R语言distVincentySphere函数计算大圆距离实战(Great Circle Distance)
  2. Android构建boot.img:root目录与ramdisk.img的生成
  3. 波卡链Substrate (6)Babe协议二“分配slot机制”
  4. python pynlpir中科院分词的使用
  5. C、Shell、Perl基于Tomcat开发CGI程序环境配置
  6. 双层json报文样例_json报文解析
  7. 【转】DICOM之Print!!!!!!!!!
  8. [Ajax] jQuery中的Ajax -- 03-搜索框提示效果
  9. undolog 是binlog_mysql日志redo log、undo log、binlog以及作用看这篇就可以啦
  10. linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
  11. 布朗大学计算机专业怎么样,Offer捷报 | 恭喜Z同学收获布朗大学计算机科学专业Offer!...
  12. 神仙打架?苹果短暂撤销 Facebook 和 Google 的企业证书
  13. youtube-dl下载速度慢解决方法
  14. navicat 导入dmp文件
  15. Linux监控平台搭建
  16. [FPGA][基础模块]跨时钟域传播脉冲信号
  17. item_search_img - 按图搜索义乌购商品(拍立淘)
  18. opencv给图片加中文水印
  19. Java设计模式之行为型:中介者模式
  20. binlog实时同步

热门文章

  1. centos开启防火墙端口
  2. HTML注册页面制作
  3. 大数据时代,Wyn Enterprise和您一起探讨CIO的困境和出路 ZT
  4. NLP 自然语言初体验
  5. CT值以及窗宽窗位(未完待续)
  6. VMware中kali2022通过物理机代理上网(桥接模式)
  7. 微信小程序 自定义组件
  8. 如何在mac上播放iphone音频
  9. House Robber的解法
  10. Java05 - 数据类型