1.服务节点规划
ZK集群
192.168.10.111(corehadoop13):12181
192.168.10.112(corehadoop13):12181
192.168.10.113(corehadoop13):12181
2.jdk环境变量配置(三个节点都配置)
参考该链接配置环境变量 https://www.cnblogs.com/whiteY/p/13332708.html
3. 部署zookeeper集群(三个节点都配置)
下载地址:官网下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
3.1上传安装包并解压到安装目录
mkdir /usr/local/zookeeper
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/zookeeper
3.2将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
3.3然后修改zoo.cfg配置文件(其他节点除myid其他配置一致)
clientPort=12181
initLimit=10
autopurge.purgeInterval=24
syncLimit=5
tickTime=2000
dataDir=/opt/hadoop/zookeeper
autopurge.snapRetainCount=30
server.1=corehadoop13:2888:3888
server.2=corehadoop14:2888:3888
server.3=corehadoop15:2888:3888
上面红色框住的内容即是我们修改的内容:
①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
③、client:监听客户端连接的端口。
④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
⑥、server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。
第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。
3.4在 上一步 dataDir 指定的目录下,创建 myid 文件。
mkdir /opt/hadoop/zookeeper
cd /opt/hadoop/zookeeper
然后在该文件添加上一步 server 配置的对应 A 数字
echo 1 > myid
后面的机器依次在相应目录创建myid文件,写上相应配置数字即可。
3.5 配置环境变量
为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。
进入到 /etc/profile 目录,添加相应的配置信息:
vi /etc/profileexport ZK_HOME=/usr/local/zookeeper/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin
source 使配置生效source /etc/profle
3.6启动 zookeeper服务
启动命令:zkServer.sh start
停止命令:zkServer.sh stop
重启命令:zkServer.sh restart
查看集群节点状态:zkServer.sh status
我们分别对集群三台机器执行启动命令。执行完毕后,分别查看集群节点状态:
出现如下即是集群搭建成功:
进zk-clint
./zkCli.sh -server corehadoop13:12181,corehadoop14:12181,corehadoop15:12181