赞
踩
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
操作系统 | IP | 主机名 |
---|---|---|
CentOS Linux release 7.5.1804 (Core) | 192.168.169.10 | zk-node1 |
CentOS Linux release 7.5.1804 (Core) | 192.168.169.20 | zk-node2 |
CentOS Linux release 7.6.1810 (Core) | 192.168.169.30 | zk-node3 |
1、zookeeper 依赖 JDK,检查每个节点是否安装jdk ,如果没有则需安装JDK
[root@zk-node1 zookeeper]# java -version //执行命令会显示JDK版本信息
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
2、zookeeper 节点之间需要互相通信,需要关闭防火墙,保证节点之间网络连通正常,在每个节点执行
[root@zk-node1 zookeeper]# setenforce 0
[root@zk-node1 zookeeper]# sed -ri 's/^(SELINUX=).*/\1disable/g' /etc/selinux/config
[root@zk-node1 zookeeper]# systemctl stop firewalld
[root@zk-node1 zookeeper]# systemctl disable firewalld
3、zookeeper 官网下载安装包,上传至所有节点服务器,并解压
zookeeper 官网
[root@zk-node1 zookeeper]# ls
apache-zookeeper-3.7.1-bin.tar.gz
[root@zk-node1 zookeeper]# tar xvf apache-zookeeper-3.7.1-bin
4、修改主配置文件
[root@zk-node1 zookeeper]# cd apache-zookeeper-3.7.1-bin/conf/ [root@zk-node1 conf]# cp zoo_sample.cfg zoo.cfg [root@zk-node1 conf]# cat zoo.cfg # Follower和Leader之间的心跳检测时间 tickTime=2000 # Follower和Leader的连接超时时间 initLimit=10 # Follower数据同步Leader的超时时间 syncLimit=5 #指定数据存储路径 dataDir=/home/zookeeper/apache-zookeeper-3.7.1-bin/data #指定日志路径 dataLogDir=/home/zookeeper/apache-zookeeper-3.7.1-bin/logs #zookeeper 监听在本地端口 clientPort=2181 #组成集群内的所有节点 server.1=192.168.169.10:2188:3288 server.2=192.168.169.20:2188:3288 server.3=192.168.169.30:2188:3288
示例配置server.1=192.168.169.10:2188:3288 表示如下
server.1 表示节点序列号
192.168.169.10 集群节点的IP
2188 节点之间内部通信端口
3288 节点之间 master 选举端口
5、在所有节点创建数据目录和日志目录
[root@zk-node1 ~]# mkdir /home/zookeeper/apache-zookeeper-3.7.1-bin/data/
[root@zk-node1 ~]# mkdir /home/zookeeper/apache-zookeeper-3.7.1-bin/logs/
6、将这个配置文件拷贝到其他节点相同的路径下
[root@zk-node1 conf]# scp zoo.cfg root@192.168.169.20:/home/zookeeper/apache-zookeeper-3.7.1-bin/conf/
[root@zk-node1 conf]# scp zoo.cfg root@192.168.169.30:/home/zookeeper/apache-zookeeper-3.7.1-bin/conf/
7、分别在所有节点的数据目录下创建 myid 文件并写入序列号,每个节点序列号必须和主配置文件一致
[root@zk-node1 ~]# cd /home/zookeeper/apache-zookeeper-3.7.1-bin/data/
[root@zk-node1 data]# echo 1 > myid
[root@zk-node2 ~]# cd /home/zookeeper/apache-zookeeper-3.7.1-bin/data/
[root@zk-node2 data]# echo 2 > myid
[root@zk-node3 ~]# cd /home/zookeeper/apache-zookeeper-3.7.1-bin/data/
[root@zk-node3 data]# echo 3 > myid
8、所有节点启动 zookeeper
[root@zk-node1 ~]# sh /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start
[root@zk-node2 ~]# sh /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start
[root@zk-node3 ~]# sh /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start
9、查看节点的状态 ,leader 为主节点,follower为 从节点
[root@zk-node1 ~]# /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh status /usr/bin/java ZooKeeper JMX enabled by default Using config: /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: leader [root@zk-node2 ~]# /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: follower [root@zk-node3 ~]# /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/zookeeper/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: follower
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。