最近打算出一个系列,介绍Dubbo的使用。
分布式应用现在已经越来越广泛,Spring Could也是一个不错的一站式解决方案,不过据我了解国内目前貌似使用阿里Dubbo的公司比较多,一方面这个框架也确实很OK,另一方面可能也是因为Dubbo的中文文档比较全的缘故,据Dubbo官网上的消息,阿里已经重新开始了对Dubbo的维护,这也算是使用Dubbo的互联网公司的福音了吧。OK,废话不多说,今天我们就先来看看如何在Linux上安装zookeeper。
了解过Dubbo的小伙伴都知道,Dubbo官方建议我们使用的注册中心就是zookeeper,zookeeper本来是Hadoop的一个子项目,现在发展成了Apache的顶级项目,看名字就知道Zookeeper就是动物园管理员,管理Hadoop(大象)、Hive(蜂房/蜜蜂)等动物。Apache上的Zookeeper分Linux版和Windows版,但是考虑到实际生产环境都是Linux,所以我们这里主要介绍Linux上Zookeeper的安装,Windows上Zookeeper的安装则比较简单,下载解压即可,和Tomcat差不多。
OK,废话不多说,接下来我们就来看看zookeeper的安装步骤。
环境:
1.VMware® Workstation 12 Pro
2.CentOS7
3.zookeeper-3.4.10(本文写作时的最新稳定版)
安装步骤
1.下载zookeeper
zookeeper下载地址如下,小伙伴们可以在第一个地址中选择适合自己的zookeeper版本,也可以直接点击第二个地址下载我们本文使用的zookeeper。
1.http://mirrors.hust.edu.cn/apache/zookeeper/
2.http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2.将下载好的zookeeper上传到Linux服务器上
上传方式多种多样,我这里采用了xftp,小伙伴们也可以直接使用putty上传,上传结果如下:
3.将文件解压到/opt目录下
4.进入到刚刚解压好的目录中,创建两个文件夹,分别是data和logs,如下:
5.将解压后zookeeper-3.4.10文件夹下的zoo_sample.cfg文件拷贝一份命名为zoo.cfg,如下:
6.修改zoo.cfg文件,添加data和log目录,如下:
1.2888 端口号是zookeeper服务之间通信的端口
2.3888 是zookeeper 与其他应用程序通信的端口
3.initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。
4.syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
5.server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的IP地址或/etc/hosts文件中映射了IP的主机名;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
7.在 dataDir=/opt/zookeeper-3.4.10/data下创建 myid文件 编辑myid文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,myid文件内容就是1。如果只在单点上进行安装配置,那么只有一个server.1。如下:
8.在.bash_profile文件中增加zookeeper配置:
9.使配置生效
10.关闭防火墙
11.启动并测试
启动之后如果能看到Mode:standalone就表示启动成功了。
12.关闭zookeeper
13.配置开机启动zookeeper
注意注意 在centos7中,/etc/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
OK,以上就是我们在CentOS7中安装zookeeper的全过程,做好这一切之后我们就可以在Dubbo中使用这个注册中心了,这个我们放在下一篇博客中介绍。