1.zookeeper的简介
Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。
Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务
2. zookeeper环境的搭建
zookeeper的模式分为三种,分别为:单机模式、集群模式和伪集群模式。
2.1 准备工作(集群模式)
使用vmware创建三个centos7的虚拟机,ip地址为,192.168.121.128,
192.168.121.129,192.168.121.130,必须安装java环境。
分别下载zookeeper包(3.4.10),将包下载到/software目录下。
2.2 配置zookeeper文件
zookeeper运行时默认加载conf的zoo.cfg文件,而在conf下有一份模版配置文件zoo_sample.cfg,复制这份模版并命名zoo.cfg。修改zoo.cfg。
2.3修改配置zoo.cfg中主要内容
Server.1=hadooop01:2888:3888
Server.2=hadooop02:2888:3888
Server.3=hadooop03:2888:3888
2.4创建配置文件中文件夹
创建命令:mkdir –p /export/data/zookeeper/zkdata
2.5创建myid
首先要查看zkdata文件下是否有myid文件。
cd /export/data/zookeeper/zkdata(切换到zkdata目录下)
echo 1 >myid
2.6配置zookeeper环境变量
2.7将所有配置好的相关文件分发至各个集群
Scp –r /export/servers/zookeeper-3.4.10/ hadoop02:/export/servers/
Scp –r /export/servers/zookeeper-3.4.10/ hadoop03:/export/servers/
这里只有两台虚拟机,所以只需要将配置好的文件发送至Hadoop02 hadoop03即可。同理将环境变量的配置文件也分发到02 03 上。
Scp /etc/profile hadooop02:/etc/profile
Scp /etc/profile hadooop03:/etc/profile
2.8进入到hadoop02 Hadoop03 的myid文件下分别将文件内容修改为对应的主机号。例如hadoop01对应数字为1,其他虚拟机同理。
2.9分发后每台虚拟机要继续刷新环境变量
source /etc/profile
3.启动查看关闭zookeeper
1.启动zookeeper服务
2.查看角色
3.关闭zookeeper
命令:zkServer.sh stop
每台虚拟机都需要进行停止命令
4.zookeeper角色启动失败
解决方法:
1.可删除zkdata下除myid 以外的文件或者查看服务器对应数字是否更改,关闭防火墙,或者先stop暂停后重新启动
2.端口号2181 被占用,直接kill掉就好