美文网首页
zookeeper的安装与集群

zookeeper的安装与集群

作者: 小月半会飞 | 来源:发表于2019-01-10 18:40 被阅读0次

    概念

    ZooKeeper是一个分布式开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
    ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

    zookeeper的安装

    1、检查jdk是否安装好,如果没有安装,就实现安装jdk

    2、将zookeeper-3.4.6.tar.gz上传到linux

    3、将zookeeper放在/opt/modules/app目录下,并解压

    tar -zxvf zookeeper-3.4.6.tar.gz   /opt/modules/app/
    

    解压后重命名为zookeeper

    mv zookeeper-3.4.6.tar.gz   zookeeper
    

    4、修改配置

    路径为:/opt/modules/app/zookeeper/conf/

    1、复制zoo_example.cfg改名为zoo.cfg
    cp zoo_sample.cfg zoo.cfg
    
    2、修改zoo.cfg
    zoo.cfg配置
    3、创建zkdata文件夹

    在root目录下创建一个zkdata文件夹,为数据存储文件的位置

    5、配置资源目录

    在/etc/profile文件中
    追加以下内容

    export ZK_HOME=/opt/modules/app/zookeeper
    export PATH=$PATH:$ZK_HOME/bin
    

    source一下

    source /etc/profile
    

    检查是否配置成功

    echo $ZK_HOME
    

    出现以下内容就配置成功了:


    image.png

    6、启动zookeeper

    启动zookeeper并且查看是否启动成功

    1、启动zookeeper
    zkServer.sh start
    
    2、查看zookeeper状态
    zkServer.sh status
    
    3、停止zookeeper
    zkServer.sh stop
    
    image.png

    7、存在问题

    1、防火墙未关闭

    1、临时关闭(开机启动防火墙)

    service iptables stop
    iptables:清除防火墙规则:                                 [确定]
    iptables:将链设置为政策 ACCEPT:filter                    [确定]
    iptables:正在卸载模块:                                   [确定]
    

    2、永久关闭(开机不启动防火墙)

    chkconfig iptables off
    
    2、地址被占用

    使用命令查看日志

     cat zookeeper.out 
    

    如果出现了java.net.BindException: Address already in use
    地址被占用,那么先查看是否被占用,占用了则杀死进程再启动,建议去/root/zkdata下删除zookeeper_server.pid。


    image.png

    zookeeper的集群

    zookeeper的集群也需要事先安装好jdk,先准备三个纯净版的linux

    1、修改zoo.cfg

    在前面的基础上,追加三个server

    server.1=192.168.159.133:2888:3888
    server.2=192.168.159.130:2888:3888
    server.3=192.168.159.134:2888:3888
    
    image.png

    注:2888是leader与follower之间通信的端口,3888是投票使用的端口(数字不做要求,但应避免冲突)。

    2、将配置好的apps下的zookeeper传到另外两台linux

    分别复制到两个主机

    scp -r /opt/modules/app/zookeeper hadoop4:/opt/modules/app/
    

    3、设置myid

    三个虚拟机在各自的root下创建zkdata文件夹,再创建myid文件设置值
    举例hadoop3(第一个主机)

    echo 1 > myid
    

    注意:myid里面设置的值一定要与配置文件里设定的一致。

    4、分别启动三个虚拟机

    一个leader两个follower


    image.png

    相关文章

      网友评论

          本文标题:zookeeper的安装与集群

          本文链接:https://www.haomeiwen.com/subject/jrzarqtx.html