zoukankan      html  css  js  c++  java
  • 附录D 安装ZooKeeper

    D.1    安装ZooKeeper

    D.1.1   下载ZooKeeper

    ZooKeeperApache基金会的一个开源、分布式应用程序协调服务,是GoogleChubby一个开源的实现。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    ZooKeeper安装包可以在其官网下载页面下载,下载地址如下,为加快下载速度可以选择中国境内的镜像,选择稳定版本zookeeper-3.4.8.tar.gz安装包。

    http://zookeeper.apache.org/releases.html#download

    D.1.2   解压并配置环境变量

    下载后把安装包方放在目录/home/spark/work目录下,用下面命令解压缩ZooKeeper安装包,并把解压后的目录移动到/app/soft目录下:

    $cd /home/spark/work/

    $tar -zxf zookeeper-3.4.8.tar.gz

    $mv zookeeper-3.4.8 /app/soft

    $ll /app/soft

    为了方便运行zkServer.sh脚本,在集群中的节点中,需要将ZooKeeperbin路径加入到/etc/profile中,设置如下内容(分发到各节点后,在各节点上做同样设置):

    export ZOOKEEPER_HOME=/app/soft/zookeeper-3.4.8

    export PATH=$PATH:$ZOOKEEPER_HOME/bin

    设置完毕后使用如下命令使配置生效:

    $source /etc/profile

    D.1.3   修改ZooKeeper的配置文件

    ZooKeeper的根目录下建立datalog目录用于存放工作数据和日志文件:

    $mkdir /app/soft/zookeeper-3.4.8/data/

    $mkdir /app/soft/zookeeper-3.4.8/log/

    ZooKeeper配置目录下默认情况下,不存在在zoo.cfg文件,需要复制一份,然后进行修改,命令如下:

    $cd /app/soft/zookeeper-3.4.8/conf/

    $cp zoo_sample.cfg zoo.cfg

    $sudo vi zoo.cfg

    修改zoo.cfg配置文件内容(仅列出重要配置):

    #用于存放ZooKeeper的数据和日志

    dataDir=/app/soft/zookeeper-3.4.8/data

    dataLogDir=/app/soft/zookeeper-3.4.8/log

     

    //外部客户端连接端口号,在Kafka中将使用该端口号

    clientPort=2181

     

    //ZooKeeper集群相关配置信息

    server.1=master:2888:3888

    server.2=slave1:2888:3888

    server.3=slave2:2888:3888

    配置中server.A=BCD含义如下

    lA为数字,表示这个是第几号服务器;

    lB 表示该服务器的 ip 地址;

    lC 表示该服务器与集群中的 Leader 服务器交换信息的端口;

    lD 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

    如果是伪集群的配置方式,由于 B 都是一样,所以不同的 ZooKeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

    D.1.4   分发ZooKeeper到各节点

    使用scp命令到ZooKeeper分发到slave1slave2节点上:

    $cd /app/soft/

    $scp -r zookeeper-3.4.8 spark@slave1:/app/soft

    $scp -r zookeeper-3.4.8 spark@slave2:/app/soft

    dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.AA的数值,在不同机器上的该文件中填写相应的值,如master节点该值为1slave1节点该值为2slave2节点该值为3

    $cd /app/soft/zookeeper-3.4.8/data

    $vi myid

    D.2    启动并验证

    执行命令“zkServer.sh start”将会启动ZooKeeper。在此大家需要注意的是,不同节点上的ZooKeeper需要单独启动。而执行命令“zkServer.sh stop”将会停止ZooKeeper。可以使用命令“JPS”查看ZooKeeper是否成功启动,或执行命令“zkServer.sh status”查看ZooKeeper集群状态:

    $zkServer.sh start

    $zkServer.sh status

    clip_image002

    图 附录D‑1 启动Zookeeper并查看状态

    当第一个节点启动ZooKeeper时由于集群的其他节点未启动ZooKeeper,使用zkServer.sh status命令查看当前状态时会提示错误。但是随着后续节点的ZooKeeper的陆续启动,使用status查看状态时会显示当前节点的状态,本次master作为了follower

  • 相关阅读:
    js数组
    ECharts测试
    java代码测试---插入排序和选择排序
    C++语言基础——01一切的开始
    咸鱼君的算法学习笔记——快速排序
    6-4英语句子
    《浪潮之巅》二十二、二十三章笔记
    《浪潮之巅》第二十一章笔记
    《浪潮之巅》二十章笔记
    《浪潮之巅》十八十九章笔记
  • 原文地址:https://www.cnblogs.com/shishanyuan/p/6195868.html
Copyright © 2011-2022 走看看