赞
踩
ZooKeeper是一个分布式的, 开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是 Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
- #关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
- chkconfig firewalld off
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
- #下载zookeeper
- wget https://archive.apache.org/dist/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
- #解压
- tar -xzvf apache-zookeeper-3.9.2-bin.tar.gz
- #复制配置文件 zoo_sample.cfg
- cp /install/zookeeper/apache-zookeeper-3.9.2-bin/conf/zoo_sample.cfg zoo.cfg
- #修改zoocfg配置zookeeper的端口号和数据存放地址
- #############zoo.cfg#################
- tickTime=2000 #每个刻度的毫秒数
- initLimit=10 #初始的刻度数
- syncLimit=5 #传递的刻度数
- dataDir=/data/zookeeper #数据存放地址
- clientPort=2181 #端口号
- #######################################
启动zookeeper
/install/zookeeper/apache-zookeeper-3.9.2-bin/bin/zkServer.sh start
查看zookeeper状态
/install/zookeeper/apache-zookeeper-3.9.2-bin/bin/zkServer.sh status
关闭zookeeper
/install/zookeeper/apache-zookeeper-3.9.2-bin/bin/zkServer.sh stop
以上为单体zookeeper安装及启动过程,以下为zookeeper集群的搭建方式:
与单体的搭建方式类似,只需要重复类似单体的部署模式,集群最少使用3台,以下大概介绍相应的部署方式:
- #创建zookeeper集群文件存放目录
- mkdir -p /install/zookeeper/zookeeper_colony
- #下载zookeeper
- wget https://archive.apache.org/dist/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
- #解压
- tar -xzvf apache-zookeeper-3.9.2-bin.tar.gz
- #修改文件名,并复制出来另外两个zookeeper插件
- mv apache-zookeeper-3.9.2-bin zookeeper-3.9.2-1
- cp -z zookeeper-3.9.2-1 zookeeper-3.9.2-2
- cp -z zookeeper-3.9.2-1 zookeeper-3.9.2-3
-
- #创建zookeeper集群数据存放目录
- mkdir -p /data/zookeeper_colony/{zookeeper_1,zookeeper_2,zookeeper_3}
修改端口和数据存放地址
在每个插件的数据存放目录下面添加myid并且写入值 myid的值不能和其他zk插件重复
- echo 1 >> /data/zookeeper_colony/zookeeper_1/myid
- echo 2 >> /data/zookeeper_colony/zookeeper_2/myid
- echo 3 >> /data/zookeeper_colony/zookeeper_3/myid
在每个插件的zoo.cfg配置尾部添加数据
- #2881为组成zookeeper服务器之间的通信端口,3881为用来选举leader的端口
- #server后面的数字与后面的myid相对应
- server.1=192.168.90.243:2881:3881
- server.2=192.168.90.243:2882:3882
- server.3=192.168.90.243:2883:3883
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-1/bin/zkServer.sh start
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-2/bin/zkServer.sh start
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-3/bin/zkServer.sh start
zkCli.sh脚本可以连接集群测试是否启动成功
- #能进入说明配置成功
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-1/bin/zkCli.sh -server 192.168.90.243:2181
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-1/bin/zkCli.sh -server 192.168.90.243:2182
- /install/zookeeper/zookeeper_colony/zookeeper-3.9.2-1/bin/zkCli.sh -server 192.168.90.243:2183
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。