有幸参与公司的项目部署,在组长的带领下开始部署zookeeper的集群。在参考公司zookeeper部署文档的过程中,着实学到了不少东西。总结就两字过瘾。
准备:3个 centos7虚拟机。分为是
192.168.24.234,
192.168.24.235,
192.168.24.236。都是4G内存
准备安装的zookeeper包。zookeeper-3.4.10的包。
dubbo-admin-tomcat:带dubbo控制台的tomcat一个。
安装过程:
先安装第一台:安装到 /usr/local/zookeeper路径下。然后修改/usr/local/zookeeper/conf/zoo.cfg的配置。
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
clientPort=2181
#配置三个zookeeper的IP以及端口
server.1=192.168.24.234:2881:3881
server.2=192.168.24.235:2881:3881
server.3=192.168.24.236:2881:3881
配置中的server可以是ip也可以是host名称。不过要使用host名称的话,记得修改自己的hosts文件。
initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。
syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。
dataDir用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。data目录必须存在。
clientPort 表示客户端所连接的服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。
对server的配置说明如下:
server.A = B:C:D
A代表zk服务器的编号,
B代表ip地址,也可以是主机名。
C代表:zk选举用的端口。
D代表zookeeper服务器之间通信端口。
然后在data目录内添加 myid文件。填入该服务器对应的A编号。比如192.168.24.234就是1
接下起来就是复制了
使用src -r source target
source代表复制的源内容。target代表目标文件夹
scp -r root@192.168.24.234:/usr/local/zookeeper /usr/local
然后修改myid文件就可以对应的编号就可以了。
最后进入zookeeper的bin目录
./zkServer.sh start启动zookeeper就可以了。
dubbo控制台的部署
因为我是直接拿的公司的包含dubbo的tomcat,直接放到服务器上,然后修改下 dubbo.properties文件的zookeeper地址就OK了。
dubbo.registry.address=zookeeper://192.168.24.234:2181?backup=192.168.24.235:2181,192.168.22.236:2181
然后启动dubbo的tomcat就可以了。
遇到问题:
服务起来之后,注册到dubbo控制台服务出现IP混乱的问题。可以看这篇博客。http://www.zuidaima.com/blog/3658395741932544.htm
我采用的办法是修改每个服务的hostname解决的。
服务有时候能够注册到dubbo控制台,有时候明明已经注册上了,但是控制台就是不显示。
在组长的带领下采用控制变量法。从三个方面入手:zookeeper单机与集群,dubbo控制台,最后服务的tomcat启动日志
1、检查zoo.cfg文件,是不是自己的server的ip写错了。或者自己注释了完了去掉注释。
2、第一步确认没问题的话,就得检查每个服务的tomcat的日志了。确保服务的tomcat确实启动了。
3、tomcat确实没问题的话,改成单机的zookeeper,测试下每个单机的zookeeper是否成功配置。
4、单机没问题的话,集群按理说也没问题,就看下dubbo的控制台吧。