ZooKeeper安装

什么是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安装)