Zookeeper分布式环境搭建
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分布式环境搭建相关推荐
- ZooKeeper之分布式环境搭建
第1关:仲裁模式与伪分布式环境搭建 本关任务:了解ZooKeeper的仲裁模式,掌握伪分布式安装. vi /opt/zookeeper-3.4.12/conf/zoo.cfg 增加以下内容并保存:se ...
- 2021年大数据环境搭建(二):分布式环境搭建
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...
- 最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)
继续上次的教程,这次安装hbase与hive.之前有同学反应百度网盘中没有hbase安装包,这次补上了,在上篇博客的网盘链接中已经有了,最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程 ...
- Hadoop入门基础教程 Hadoop之完全分布式环境搭建
上一篇我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所 ...
- Hadoop单机和伪分布式环境搭建
hadoop环境搭建 1.三个环境 单机.伪分布式.分布式 2.三个分支 apache版本(Apache基金会) cdh版本(cloudera公司) ...
- jmeter分布式环境搭建
jmeter分布式环境搭建部署 jmeter分布式环境搭建 Jmeter运行方式:GUI和非GUI GUI.非GUI遇到的问题 如何解决? Jmeter分布式部署流程 Jmeter非GUI运行时动态参 ...
- Hadoop2.2.0伪分布式环境搭建(附:64位下编译Hadoop-2.2.0过程)
Hadoop2.2.0伪分布式环境搭建: 写在前面:Hadoop2.2.0默认是支持32位的OS,如果想要在64位OS下运行的话,可以通过在64位OS下面编译Hadoop2.2.0来实现,编译的操作步 ...
- 1 Hadoop 3.2.4分布式环境搭建
1 Hadoop 3.2.4分布式环境搭建 1 系统配置 3台centOS虚拟机 # 配置hosts解析 vim /etc/hosts192.168.88.129 hadoop1 192.168.88 ...
- HDFS伪分布式环境搭建-很不错
HDFS伪分布式环境搭建 原创 ZeroOne01 2018-03-24 19:51:20 评论(0) 655人阅读 HDFS概述及设计目标 什么是HDFS: 是Hadoop实现的一个分布式文件系统( ...
最新文章
- R语言distVincentySphere函数计算大圆距离实战(Great Circle Distance)
- Android构建boot.img:root目录与ramdisk.img的生成
- 波卡链Substrate (6)Babe协议二“分配slot机制”
- python pynlpir中科院分词的使用
- C、Shell、Perl基于Tomcat开发CGI程序环境配置
- 双层json报文样例_json报文解析
- 【转】DICOM之Print!!!!!!!!!
- [Ajax] jQuery中的Ajax -- 03-搜索框提示效果
- undolog 是binlog_mysql日志redo log、undo log、binlog以及作用看这篇就可以啦
- linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
- 布朗大学计算机专业怎么样,Offer捷报 | 恭喜Z同学收获布朗大学计算机科学专业Offer!...
- 神仙打架?苹果短暂撤销 Facebook 和 Google 的企业证书
- youtube-dl下载速度慢解决方法
- navicat 导入dmp文件
- Linux监控平台搭建
- [FPGA][基础模块]跨时钟域传播脉冲信号
- item_search_img - 按图搜索义乌购商品(拍立淘)
- opencv给图片加中文水印
- Java设计模式之行为型:中介者模式
- binlog实时同步