1.概念理解
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理关键数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,类似于Master/Slave管理模式。
2.功能
提供的服务包括:分布式消息同步和协调机制、服务器节点动态上下线、统一配置管理、负载均衡、集群管理等。
3.本地安装部署
(1)下载tar包
官网地址:https://zookeeper.apache.org/releases.html
(2)解压tar包
解压命令:tar -zxvf zookeeper-3.3.6.tar.gz
(3)本地搭建集群
搭建方式分为两种:第一种是在同一台服务器搭建伪集群,第二种是在多台服务器搭建集群
第一种伪集群:
步骤(接着上面的步骤):
1.将解压后的zookeeper文件夹进行复制两份,加上解压的一共三份,分别放到不同的文件目录下。
我这里举例用的三个目录分别是zkserver1,zkserver2,zkserver3。
2.修改每个目录下zookeeper文件下的配置文件,相对路径是zkServer1/zookeeper/conf
首先将zoo_sample.cfg重命名为zoo.cfg
然后修改zoo.cfg
server.1=192.168.1.100:2888:3888详解
server.1中server是固定写法,1是服务器别名,后面需要创建一个myid文件然后配置该别名,三个服务器,别名都不一样,分别为1,2,3
192.168.1.100是ip
2888/2889/2887是服务器与集群中的Leader服务器交换信息的端口
3888/3889/3887是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
创建myid,根据zoo.cfg配置文件中的dataDir,在该路径下创建一个myid文件,命令 touch myid,三个服务器,有三个不同的目录,所以需要创建三个myid文件
在myid文件中配置服务器别名,注意,只需要别名就行
三个文件配置完毕后,开始启动三个zookeeper
启动命令:bin/zkServer.sh start,分别在三个zookeeper目录下执行该命令
使用jps命令查看进程,会有3个QuorumPeerMain的进程,集群启动成功
第二种集群方式
跟第一种不同的是zoo.cfg文件的配置
区别就是IP不一样,dataDir和端口可以一样。
启动方式一样