Hapoop 搭建 (五)搭建zookeeper集群环境
官网下载地址 http://zookeeper.apache.org/releases.html
本示例使用版本 zookeeper-3.4.14
部署3节点 192.168.0.171 ~ 173
注:zookeeper需要java环境才能运行
一、上传文件到服务器,并解压
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/modules/
二、配置环境变量
修改文件 /etc/profile
vi /etc/profile
加入以下内容
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.14 export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
执行
source /etc/profile
使配置生效
三、编写配置文件
1、在安装目录创建dataDir,存放zookeeper相关数据
mkdir dataDir
2、在安装目录下的conf文件夹中新建配置文件 zoo.cfg,加入以下内容
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/modules/zookeeper-3.4.14/dataDir clientPort=2181 server.1=192.168.0.171:2888:3888 server.2=192.168.0.172:2888:3888 server.3=192.168.0.173:2888:3888
(1)tickTime ——CS通信心跳时间 tick翻译成中文的话就是滴答滴答的意思,连起来就是滴答滴答的时间,寓意心跳间隔,单位是毫秒,系统默认是2000毫秒,也就是间隔两秒心跳一次。 tickTime的意义:客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间,默认情况下FL的会话时常是心跳间隔的两倍。 (2)initLimit 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。 (3)syncLimit 集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。 (4)dataDir 该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。
(5)clientPort
客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
配置集群信息是存在一定的格式:service.N =YYY: A:B
N:代表服务器编号(也就是myid里面的值)
YYY:服务器地址
A:表示 Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)
B:表示 是选举端口(默认是3888)
3、在dataDir目录中创建myid的文件,只包含一行内容,即当前服务器的Id与参数server.id的值相同
四、复制到其他节点
将配置好的发送到另2个节点上
scp -r /opt/modules/zookeeper-3.4.14/ hadoop@centos02:/opt/modules/ scp -r /opt/modules/zookeeper-3.4.14/ hadoop@centos03:/opt/modules/
五、修改其它节点配置
修改myid的对应的数值
六、启动zookeeper集群
需要登陆到每个节点启动
sh /opt/modules/zookeeper-3.4.14/bin/zkServer.sh start
显示如下表示成功启动
七、查看启动状态
sh /opt/modules/zookeeper-3.4.14/bin/zkServer.sh status
第1、3节点是 follower 第2节点是 leader
停止zookeeper
sh /opt/modules/zookeeper-3.4.14/bin/zkServer.sh stop
八、连接到节点
sh /opt/modules/zookeeper-3.4.14/bin/zkCli.sh -server centos01:2181