分布式学习~02.Zookeeper集群的介绍与安装
本文是上一篇文章的后续,详情点击该链接
集群中的角色主要有三种:领导者,学习者和客户端
领导者(Leader):
领导者负责进行投票的发起和决议,更新系统状态。
学习者
学习者的话呢,又分为两种:一种是跟随者,一种是观察者~
跟随者(Follower)
Follower用于接收客户请求并向客户端返回结果,在选主过程中参与投票。
观察者(ObServer)
ObServer可以接收客户端连接,将写请求转发给leader节点。但ObServer不参与投票过程,只同步leader的状态。ObServer的目的是为了扩展系统,提高读取速度。
客户端(Client)
请求发起方
集群安装
在真正的生产当中,我们会在多个Linux系统中安装多个Zookeeper,然后把它们集群到一起,这个就是真集群。而对于我们学习来说的话呢,就搭个伪集群吧。省的麻烦...
使用3个 Zookeeper 应用搭建一个伪集群。应用部署位置是:192.168.2.102。客户端,监听端口分别为: 2181、 2182、 2183。投票选举端口分别为 2881/3881、 2882/3882、 2883/3883。
不过呢,虽然搭建的是伪集群。但实际上和真集群的方法,都是一样的,不必纠结那么多~
先进入 usr/local,创建一个zookeepercluster目录
然后我们回到当初存放Zookeeper压缩包的位置,在上一篇呢,我是安装到了主目录下的temp目录
我们只需要拷贝三份到刚才创建的目录下就好了~
命令: cp apache-zookeeper-3.6.0-bin.tar.gz /usr/local/zookeepercluster/ -r
然后我们再解压:tar zxvf apache-zookeeper-3.6.0-bin.tar.gz
然后我们和上一篇一样,新建一个data目录作为缓存目录
前面呢,我们说过要建三个zookeeper,所以现在我们要把zookeeper01复制两边到当前目录就可以了~
这下子呢,我们就已经安装好了三个zookeeper实例了,而且也都有了data作为缓存文件,可是我们配置文件还没有配。所以说,现在呢。我们就要去修改配置文件了~
我们先进入到conf目录下将zoo_sample.cfg修改为zoo.cfg
另外两个呢,就也和第一个同样操作~
然后我们现在配置环境变量
然后我们按Esc退出编辑模式,按:开始输入命令。wq!保存退出~
另外两个的话呢,和第一个是同样操作。这里就不截图了~
提供应用唯一标识
在Zookeeper 集群中,每个节点需要一个唯一标识。这个唯一标识要求是自然数。且唯一标识保存位置是:数据缓存目录(dataDir=/usr/local/zookeeper/data)的 myid 文件中。其中“数据缓存目录”为配置文件zoo.cfg中的配置参数。我们就在data目录中创建文件myid:touchmyid 。为应用提供唯一标识。在这里使用 1、2、3 作为每个节点的唯一标识。
我们使用echo回声命令
系统会将命令发送的数据返回。 '>>'为定位,代表系统回声数据指定发送到什么位置。 此命令代表系统回声数据发送到 myid文件中。 如果没有文件则创建文件。
echo 1 >> zookeeper01/data/myid
另外两个也用同样的操作就好了~
这个时候我们就该到最后一步了~
修改配置文件zoo.cfg- 设置监听客户端、投票、选举端口
现在我们启动!
回到jdk的路径,并获取复制(本人呢,是安装到了/usr/local/jdk下)
我们复制的时候,不要傻傻的只复制/usr/local/jdk,还要加上jdk本身。所以应该是:/usr/local/jdk/jdk1.8.0_221 这样的路径才对