美文网首页
ZooKeeper安装

ZooKeeper安装

作者: lizhencheng | 来源:发表于2019-03-15 00:11 被阅读0次

    什么是ZooKeeper

    Zookeeper是一个维护配置信息、命名、提供分布式同步和提供群组服务的集中式服务。这些各种类型的服务以某种形式被分布式应用程序使用。每当应用程序实现这些服务都不可避免的引入大量的修复BUG和竞争条件的工作。因为实现这些服务的难度在于应用最初通常跳过它们,使应用程序在发生变化时不易维护并难以管理。即使做对了,当应用程序已经部署后,不同服务的实现也将会导致管理的复杂性。

    Zookeeper是一个高性能的分布式系统的协调服务。它暴露公共的服务:像命名、配置管理、同步、和群组服务在一个简单的接口里,所以你没有必要从头开始实现它们。你可以使用现成的Zookeeper去实现共识、群组管理、领导人选举和业务协议。并且你可以在它的基础之上建立自己的特定的需求。

    前置要求

    需要安装JDK

    下载ZooKeeper

    wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.9.3.tar.gz
    

    解压

    解压到 /opt/ 目录下

    tar -zxvf zookeeper-3.4.5-cdh5.9.3.tar.gz -C /opt/
    

    配置ZooKeeper环境变量

    vim ~/.bash_profile
    

    将以下内容粘贴进去

    export ZK_HOME=/opt/zookeeper-3.4.5-cdh5.9.3
    export PATH=$ZK_HOME/bin:$PATH
    

    使环境变量生效

    source ~/.bash_profile
    

    配置文件

    进入配置文件目录

    cd $ZK_HOME/conf
    

    复制一份zoo_sample.cfg,并命名为zoo.cfg

    cp zoo_sample.cfg zoo.cfg
    

    打开zoo.cfg修改数据存储目录

    dataDir=/opt/zookeeper-3.4.5-cdh5.9.3/dataLog
    

    在 /opt/zookeeper-3.4.5-cdh5.9.3 目录下分别创建 dataLog 文件夹

    zoo.cfg配置解释

    • tickTime: 用于计算的的时间单元。比如session超时: N*tickTime
    • initLimit: 用于集群,允许从单节点连接并同步到master节点的初始化连接时间,以tickTime的倍数来表示
    • syncLimit: 用于集群,master主节点与从节点之间发送消息,请求和应答时间长度(心跳机制)
    • dataDir: 必须配置
    • dataLogDir: 日志目录,如果不配置会与dataLog公用
    • clientPort: 连接服务器的端口,默认2181

    启动ZooKeeper

    $ZK_HOME/bin/zkServer.sh start
    

    zkServer.sh用法

    ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
    

    客户端连接ZooKeeper

    $ZK_HOME/bin/zkCli.sh -server 127.0.0.1:2181
    

    相关文章

      网友评论

          本文标题:ZooKeeper安装

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