Linux配置zookeeper 和zookeeper简单介绍

Linux配置zookeeper 和zookeeper简单介绍,第1张

概述一、zookeeper介绍? 一、zookeeper 简单介绍? 1.什么是集群?// 很多台服务器保持连接通讯状态,并且所有的服务器做同一件事就称之为集群 2.什么是zookeeper? 注册中心就是zookeeper(eureka,consul)的别名 zookeeper是apache开源基金会下的一个顶级项目

一、zookeeper介绍?

一、zookeeper 简单介绍?    1.什么是集群?//        很多台服务器保持连接通讯状态,并且所有的服务器做同一件事就称之为集群    2.什么是zookeeper?        注册中心就是zookeeper(eureka,consul)的别名        zookeeper是apache开源基金会下的一个顶级项目        zookeeper是一个致力于开发和维护的开源服务器,作用于项目中的协调和控制功能                场景:            空调坏了,学生就去找班主任说空调坏了,班主任也不会修空调,班主任觉得孟老师会修空调,结果孟老师也不会,孟老师最终给售后打电话,售后假设把空调修好了,最终学生达到了预期效果            学生就是需求者,售后是服务者,孟老师和班主任就是协调者        zookeeper从logo来看是动物园管理员,这个动物园中所有的动物都由zookeeper进行管理,管理了动物的衣食住行,zookeeper在最早的时候只适用于Hadoop的生态圈,在Hadoop的生态圈中所有的框架都是动物,zookeeper对他们进行管理,管理框架的健康(心跳),服务器的调用方和服务器的生产方,也就是说最终服务的客户端不再直接向服务的服务器发送数据,首先客户端先找到zookeeper,根据zookeeper的反馈再找服务器端            hadoop是大象            hbase是鲸鱼            pig是猪            ....        在zookeeper中存放了大量的数据(非常有用),但是这些数据开发人员看不到,并且zookeeper会按照规定的时间对已经向自己注册服务索要心跳,        根据观察者模式,一旦检测到状态发生变化,最终向zookeeper注册过的观察者(服务器)要应对处理措施!    /*            被观察对象是------------->zookeeper        观察对象是---------------->服务器    */    3.zookeeper的应用场景:        在之前只适用于大数据,但是随着web项目越来越大,发展越来越快,zookeeper已经完全适用于整个web项目,在web项目中仍然起着协调和控制的作用        zookeeper是以集群的形式存在,也就是说三台zookeeper做同一件事,        /*            在官方文档中说明,zookeeper以奇数台为稳定,并且以中间这一台为leader,也就是说zookeeper至少需要三台(不是一台,一台称之为单节点)        */        为什么说以奇数台为稳定??            zookeeper是以一个leader带领很多个follower完成的集群,并且奇数和选举机制有关

 

 

二、linux配置 zookeeper?

二、配置zookeeper?            1. 新建三台虚拟机  五步走            vim /etc/sysconfig/network            vim /etc/hosts            service iptables stop            chkconfig iptables off            reboot                        2.配置jdk            2.1导入jdkjar包。            2.2配置java环境变量。                                    3.配置免秘钥登录            生成自己的公钥    四次回车(都不能输入密码)        /*              ssh-keygen -t rsa             ssh-keygen -t rsa            ssh-keygen -t rsa            ssh-keygen -t rsa            ssh-keygen -t rsa                */            把自己的公钥copy其他服务器上  另外两台都需要copy!!!        /*                ssh-copy-ID ip地址/hostname            ssh-copy-ID ip            ssh-copy-ID 192.168.11.116            ssh-copy-ID haha                     */            配置成功后,ssh 连接访问。            /**                ssh +另一条虚拟机的ip地址/名字                ssh haha                ssh zookeeper                ssh zookeeper                                             */                    4解压zookeeper            tar -zxvf xxxxx                                5.把conf目录下的        [zoo-sample.cfg文件改名为zoo.cfg]                修改文件的命令: mv +需要修改的文件名 空格  修改后的文件名。                  /*  mv zoo-sample.cfg zoo.cfg             mv zoo-sample.cfg zoo.cfg            mv zoo-sample.cfg zoo.cfg            mv zoo-sample.cfg zoo.cfg            mv zoo-sample.cfg zoo.cfg            mv zoo-sample.cfg zoo.cfg        */                    6.修改dataDir参数(不是必须所要修改的,但是要求修改)    指向的文件就是zookeeper每一台节点的唯一标识(ID),而且这个唯一标识不能重复!!!!                                    1.在zookeeper目录下中创建文件夹data   获取data的 pwd路径。(pwd )            /*                mkdir data                 cd data                  pwd  获取路径                            */                        2.退出 ,在conf下修改 dataDir 修改为刚才所创建的data目录的绝对路径把dataDir修改为刚才所创建的data目录的绝对路径            /*                vim dataDir                把dataDir修改为刚才所创建的data目录的绝对路径    dataDir=/home/apps/zookeeper-3.4.6/data            */                                             7.在zoo.cfg文件的末尾添加        /**            server.1=zookeeper01:2888:3888            server.2=zookeeper02:2888:3888            server.3=zookeeper03:2888:3888                    7.1    server.的数据就是每一台zookeeper的唯一标识                      7.2    zookeeper01:HOSTname或者可以配置IP地址                    7.3    2888:zookeeper集群之间通讯所用的端口号                    7.4    3888:zookeeper集群的选举leader端口号    */                    8.在之前创建data文件夹下创建myID文件            touch myID                    9.写入myID文件            vim myID            1                    10.通过scp发送到另外两台服务器上        语法   scp -r /home/apps/(需要发送的路径) 空格 zookeeper02(目标的ip/hostname):/home/ (需要发送到的目标位置)               把zookeeper01 虚拟机上的  /home/apps/ 发送到 zookeeper02 的 :home/ 目录下。                /*            scp -r /home/apps/ zookeeper02:/home/            scp -r /home/apps/ zookeeper03:/home/                scp -r /home/apps/ zookeeper02:/home/                                            */                将配java的配置环境也copy过去。                        scp -r /etc/profile zookeeper01:/etc/            scp -r /etc/profile zookeeper01:/etc/                        scp -r /etc/proflIE     需要的虚拟机的ip:/etc/            (本机需要copy的地址)                       (需要copy到的虚拟机的地址)            /*                scp -r /etc/proflIE zookeeper02:/etc/                scp -r /etc/proflIE zookeeper03:/etc/                scp -r /etc/proflIE haha:/etc/            */                    立即生效命令            source /etc/profile        尝试了一下  不用也可以。不敢保证。。。                                    4.10.根据server.的数字分别修改myID文件            把zookeeper02修改为2            把zookeeper03修改为3                    4.11.启动zookeeper            在bin目录中启动        /*                ./zkServer.sh start            ./zkServer.sh start            ./zkServer.sh start            ./zkServer.sh start        */                看到以下信息说明启动成功:                JMX enabled by @H_404_174@default                Using config: /home/apps/zookeeper-3.4.6/bin/../conf/zoo.cfg                Starting zookeeper ... STARTED                                        4.12.分别检测三台zookeeper服务器的状态            在bin目录中        /*                ./zkServer.sh status            ./zkServer.sh status         */                    关闭        /*            ./zkServer.sh stop            ./zkServer.sh stop            ./zkServer.sh stop        */            leader  和 follower          老大         小弟                5.zookeeper的选举机制        5.1    zookeeper采用的是paxos算法实现的选举机制        换句话说半数选举机制 谁的server ID大  谁就是大哥!!!                半数选举  leader产生 该节点高32位会发生改变。                                5.2zID 事物的ID一共有64位, 分别高32 位  和 低32 位。            当leader宕机。所有服务器的zID 会自增。        自增的低32位 根据某个规则进行增加 高32位不变。                zID 的低32为越小,被选举的可能性就越大,被 *** 作的可能性就越大                /*        zxID (低32 +高32位 合并)             越大被 *** 作的可能就越大。                            */        
总结

以上是内存溢出为你收集整理的Linux配置zookeeper 和zookeeper简单介绍全部内容,希望文章能够帮你解决Linux配置zookeeper 和zookeeper简单介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1024341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存