第一步:在CentOS/Windows上安装Zookeeper【前提】
A:CentOS
Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用Zookeeper,Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。我们先在linux上安装Zookeeper,我们安装最简单的单点,集群比较麻烦。
下载:
# tar zxvf zookeeper-3.4.6.tar.gz
# mv zookeeper-3.4.6 /home/root
配置zoo.cfg:
# cd /home/root/zookeeper-3.4.6/conf
# cp zoo_sample.cfg zoo.cfg
【Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件】
1、clientPort:监听客户端连接的端口。
2、dataDir: 数据目录. 可以是任意目录
3、dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
4、tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
我们可以对配置文件的端口等或者进行高级配置和集群配置例如:maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量等
5、syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
6、server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.
启动:
# cd /home/root/zookeeper-3.4.6/bin
# ./zkServer.sh start
开启防火墙端口:
# service iptables status
# /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
# /etc/rc.d/init.d/iptables save
B:Windows下使用Zookeeper更简单,直接解压,运行bin目录下的zkServer.cmd即可;
至此,Zookeeper单机模式已经配置好,启动了(此例为单机模式,实际上线必须使用集群模式)【???不清楚是否拥有密码,控制服务和消费放的接入】
第二步:配置dubbo-admin管理控制台,方便我们管理【可选】
1、获取源码:https://github.com/alibaba/dubbo
2、编译,导出war文件:dubbo-admin-2.4.1.war
修改01:pom.xml的dubbo依赖的vsrsion改为2.5.3,因为原vsrsion依赖maven不存在;
3、修改配置WEB-INF目录下文件:dubbo.properties 【配置zookeeper注册中心的地址、配置dubbo-admin的root和guest账号的密码】
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root_pwd
dubbo.admin.guest.password=guest_pwd
4、导出war包,部署在tomcat下,启动服务查看;
5、浏览器输入网址登陆,输入上述配置的账号密码;
6、管理监控,提供者和消费者,以及其他一系列功能;
第三部:Spring整合Dubbo(Zookeeper)【必须】
....