zookeeper3.4.13集群搭建

zookeeper是一个分布式协调框架,一般用于应用高可用的场景,例如:主从选举,灾难备份,服务感知,服务注册,分布式锁等等,因为其具备优秀的处理速度和可靠性,内部具备主从选举的功能,使得它成为分布式应用不可或缺的一部分,在大数据生态圈中更是重要组成部分。

搭建步骤
  • 下载zookeeper安装包,地址:
    zookeeper-3.4.13

    • 这里我使用的版本是3.4.13,各位看官按照自己的喜好下载
  • 解压zookeeper包,并修改名称

    tar -zxvf zookeeper-3.4.13.tar.gz /usr/local
    mv /usr/local/zookeeper-3.4.13 /usr/local/zookeeper
    
  • 修改zookeeper配置信息

    vi zoo.cfg	//新建一个zoo.cfg文本
    
    • 配置以下信息:
    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial 
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    dataDir=/usr/local/zookeeper/data
    # the port at which the clients will connect
    clientPort=2181
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    server.0=hadoop1:2888:3888
    server.1=hadoop2:2888:3888
    server.2=hadoop3:2888:3888
    server.3=hadoop4:2888:3888
    
    
    • 注:我这里配置了4台zookeeper集群,其实建议配置奇数台,因为跟zookeeper的内部主从选举机制使用的算法相关。
    • 以上配置信息都有注释说明,看不懂的使用翻译工具凑合看哈哈~
  • 根据配置文件的存放的路径,在其目录下创建一个机器标识号

    mkdir -p /usr/local/zookeeper/data
    cd myid
    vi myid 	//我这里使用了4台机器,分别标识为0,1,2,3,且不能重复,不然报错	
    

    在这里插入图片描述

    • 如上图所示,只需要填写一个数字保存即可,但是机器与机器之间的标识码不能重复
    • 建议配置的路径在zookeeper安装目录中,以便分发到各台机器上。
  • 配置zookeeper的环境变量

    vi /etc/profile
    
    export ZK_HOME=/usr/local/zookeeper
    export PARH=$PATH:$ZK_HOME/bin
    
    source /etc/profile
    

    在这里插入图片描述

  • 分发配置好的zookeeper到各台机器上

    scp -r /usr/local/zookeeper hadoop2:/usr/local/
    scp -r /usr/local/zookeeper hadoop3:/usr/local/
    scp -r /usr/local/zookeeper hadoop4:/usr/local/
    
  • 修改分发好的机器的myid,并配置环境变量,如:

    我这里四台机器分别为hadoop1,hadoop2,hadoop3,hadoop4
    hadoop1的myid为:0
    hadoop2的myid为:1
    hadoop3的myid为:2
    hadoop4的myid为:3
    

    配置环境变量与上面步骤保持一致

  • 在每台机器上启动zookeeper,执行命令:

    zkServer.sh start
    
  • 查看启动之后的zookeeper状态,执行命令:

    zkServer.sh status
    

    在这里插入图片描述

    在这里插入图片描述

    • 集群机器中只有一台是leader,其余都是follower,如果leader节点挂了,又会进行重新选举
  • 如果每台机器都跟上图一样,则zookeeper搭建成功 。然而,也会有失败的时候,原因很多,常见的可能就是配置错误,然后启动集群或者启动部分机器,而另一部分没启动,导致下一次全部启动出错。

  • 最快速的解决方法:清理每台机器中zookeeper中的data目录,保留myid文件,其余都删除了,所有的机器都清理干净之后,再次启动。

  • 非暴力解决方法:查看zookeeper的日志,定位出现的问题,分析原因然后在网上搜索资料解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值