1.Zookeeper
1.1 Zookeeper介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
总结:Zookeeper负责服务的协调调度.当客户端发起请求时,返回正确的服务器地址.
1.2 Zookeeper下载
网址: http://zookeeper.apache.org/releases.html
如图所示:
下载路径,点击download
下载Zookeeper地址:http://mirrors.hust.edu.cn/apache/zookeeper/
2.Zookeeper安装
2.1 安装JDK
将JDK1.8文件上传到Linux操作系统中/src/usr/local/java/文件下
如图所示:
1.解压文件
tar -xvf jdk-8u51-linux-x64.tar.gz
2.配置环境变量
编辑环境变量配置文件
vim /etc/profile
如图所示:
使JDK生效,之后检查jdk安装是否成功
source /etc/profile
如图所示:
2.2 上传安装文件
说明:上传zookeeper安装文件,之后解压。
如图所示:
解压目录:
tar -xvf apache-zookeeper-3.6.0-bin.tar.gz
删除压缩包:
rm -f apache-zookeeper-3.6.0-bin.tar.gz
修改文件名:
mv apache-zookeeper-3.6.0-bin zookeeper
2.3 修改配置文件(单台启动)
搭建集群直接省略此步骤,直接看Zookeeper集群安装
在zookeeper根目录下创建文件夹:data/log
mkdir data log
如图所示:
跳入conf目录中修改配置文件
复制配置文件并且修改名称
cp zoo_sample.cfg zoo.cfg
如图所示:
2.4 启动zk
跳转到bin目录中 zk启动关闭命令如下.
sh zkServer.sh start 或者 ./zkServer.sh start
sh zkServer.sh stop
sh zkServer.sh status
如图所示:
3.Zookeeper集群安装
3.1 准备文件夹
在zookeeper根目录中创建新的文件夹:zkCluster
如图所示:
如图所示:
创建zk1/zk2/zk3文件夹
在每个文件夹里创建data/log文件夹
mkdir {zk1,zk2,zk3}/{data,log}
如图所示:
3.2 添加myid文件
分别在zk1/zk2/zk3中的data文件夹中创建新的文件myid,其中的内容依次为1/2/3,与zk节点号对应。
vim zk1/data/myid
vim zk2/data/myid
vim zk3/data/myid
如图所示:
新开一个窗口:
查看myid文件,定义的编号。
如图所示:
3.3 编辑配置文件
将zoo_sample.cfg 复制为zoo1.cfg之后修改配置文件。
如图所示:
3.4 修改zoo1.cfg
如图所示:
配置完成后将zoo1.cfg复制2份,之后需要修改对应的文件夹目录,和不同的端口即可。
3.5 ZK集群测试
通过下面的命令启动zk集群.
sh zkServer.sh start zoo1.cfg #启动
sh zkServer.sh stop zoo1.cfg #停止
sh zkServer.sh status zoo1.cfg #检查
如图所示:
检查主从关系,从机情况说明。
如图所示:
检查主从关系,主机情况说明。
如图所示:
配置成功:
3.6 关于zookeeper集群说明
Zookeeper集群中leader负责监控集群状态,follower主要负责客户端链接获取服务列表信息,同时参与投票。