zookeeper的介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集, 提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
总结:zookeeper是服务的协调调度服务器!!!
zookeeper的安装使用
zookeeper的下载
网址: http://zookeeper.apache.org/releases.html.
*http://mirrors.hust.edu.cn/apache/zookeeper/ *
zookeeper的安装
安装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
上传安装文件
说明:上传zookeeper安装文件.之后解压.
解压目录:tar -xvf zookeeper-3.4.8.tar.gz
在zk根目录下创建文件夹data/logmkdir data log
复制配置文件并且修改名称cp zoo_sample.cfg zoo.cfg
修改配置文件dataDir,dataLogDir为新建data/log路径
启动zookeeper
zk启动关闭命令如下.
1 | sh zkServer.sh start 或者 ./zkServer.sh start |
zookeeper集群
准备文件夹
在zookeeper根目录中创建新的文件夹zkCluster.
在zkCluster下创建zk1/zk2/zk3文件夹.
在每个文件夹里创建data/log文件夹.mkdir {zk1,zk2,zk3}/{data,log}
添加myid文件
分别在zk1/zk2/zk3中的data文件夹中创建新的文件myid.其中的内容依次为1/2/3,与zk节点号对应.
编辑myid文件,定义编号.
编辑配置文件
将zoo_sample.cfg 复制为zoo1.cfg之后修改配置文件.
修改zoo1.cfg
配置完成后将zoo1.cfg复制2份.之后需要修改对应的文件夹目录.和不同的端口即可.
zookeeper集群测试
通过下面的命令启动zk集群.sh zkServer.sh start zoo1.cfg
启动sh zkServer.sh stop zoo1.cfg
停止sh zkServer.sh status zoo1.cfg
查看状态
检查主从关系,从机情况说明.
Zookeeper集群中leader负责监控集群状态,follower主要负责客户端链接获取服务列表信息.同时参与投票.
dubbo控制台
dubbo控制台是监控服务的.修改dubbo的配置文件信息.改为zkIP地址和端口
修改配置文件信息
1 | dubbo.registry.address=zookeeper://192.168.175.126:2181(ip:端口)?backup=192.168.175.126:2182,192.168.175.126:2183 |
控制台展现
用户名和密码都是root 登录之后进入控制台.
dubbo提供者配置文件
1 | server: |
dubbo消费者配置文件
1 | server: |
dubbo小demo(https://github.com/51461/dubbo-demo/ )