您的位置:首页 > 其它

zookeeper伪集群搭建与zookeeper中选举leader和follower的理解

2018-03-18 16:48 387 查看
搭建zookeeper伪集群:
        第一步:先把先配置linux环境,配置jdk,此步略。。

        第二步:把zookeeper压缩文件上传到linux中

                        在Xshell中连接主机后
                                        


                这个时候说明已经发送成功了:

                                    


                然后开始解压: 
                                 

    

                解压后:    

                                    


               
                第三步:在zookeeper中创建一个目录 data 
                          


                            将conf目录下zoo_sample.cfg文件更名为 zoo.cfg

               第四步:创建一个目录, 

                                    


                        把zookeeper-3.4.6文件复制到创建的目录下并起名为zookeeper-1,2,3

                                    


            第五步:配置zoo.cfg文件,使用 vim zoo.cfg进入编辑页面中,
                                    


                                    其中下面 三行中  前面是主机ip地址。后面两个是端口号,用来通信用的。

                            在data目录下创建myid文件,为每个服务器创建自己的id

                                    


                                      查看id:


              第六步:启动每个服务

                            进入bin目录下

                                     


                                    执行./zkServer.sh start

                                    出现上面情况就ok

                                    依照上面进入每个server的bin中启动,即可

            第七步:查看状态:

                        Server1的

                            


                      Server3的
                            

          

                    Server2的

                            


      为什么server2成为leader呢?

                    是因为zookeeper中算法是基于选举制的,意思是当得票数超过半数以上时,成为Leader,其他成为Follower。

                    比如我们的这三个服务器分别是A,B,C

                    1.我们依次启动A   ->  B  ->  C

                    2.启动A时,A会给自己投票,然后会把信息发送给其他服务器,但是现在就A一个服务器,无法通信,

                                所以A会处于Looking状态

                    3.启动B时,B会给自己投票,因为B的id为2,权重比A大,所以B成为老大,但是此时投票数超过半数

                                所以B成为Leader。

                    4.启动C时,C给自己投票,C权重比A和B都大,但是这个时候B已经成为Leader,所以C只能成为Follower,A和C

                                成为Follower

                

                  如果还有  D,E服务器时,这个时候就是5个服务器,当运行到C时,C权重大,成为老大,投票数超过半数
                    成为Leader, 虽然D,E服务器ID(权重)比C大,但是由于C已经成为Leader,那么DE只能被迫
                                成为Follower,前提是:C比DE先启动。

                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: