`

ZooKeeper的安装

阅读更多

 

安装ZooKeeper时看到的一片文章,感觉挺好的,拿来分享一下。

 

 

ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。ZooKeeper 单机模式的安装相对比较简单,如果第一次接触ZooKeeper的话,建议安装ZooKeeper单机模式或者集群伪分布模式。

 

1)单机模式

 

首先,从Apache官方网站下载一个ZooKeeper 的最近稳定版本。


http://hadoop.apache.org/zookeeper/releases.html

 

作为国内用户来说,选择最近的的源文件服务器所在地,能够节省不少的时间。


http://labs.renren.com/apache-mirror//hadoop/zookeeper/

 

ZooKeeper 要求 JAVA 的环境才能运行,并且需要 JAVA6 以上的版本,可以从 SUN 官网上下载,并对JAVA 环境变量进行设置。除此之外,为了今后操作的方便,我们需要对 ZooKeeper 的环境变量进行配置,方法如下,在 /etc/profile 文件中加入如下的内容:

 

 

 

#Set ZooKeeper Enviroment

export ZOOKEEPER_HOME=/root/hadoop-0.20.2/zookeeper-3.3.1

export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

 

 

ZooKeeper 服务器包含在单个 JAR 文件中,安装此服务需要用户创建一个配置文档,并对其进行设置。我们在 ZooKeeper-*.*.* 目录(我们以当前 ZooKeeper 的最新版 3.3.1 为例,故此下面的“ ZooKeeper-*.*.* ”都将写为“ ZooKeeper-3.3.1 )的 conf 文件夹下创建一个 zoo.cfg 文件,它包含如下的内容:


tickTime=2000

dataDir=/var/zookeeper

clientPort=2181

 

在这个文件中,我们需要指定 dataDir 的值,它指向了一个目录,这个目录在开始的时候需要为空。下面是每个参数的含义:

 

tickTime :基本事件单元,以毫秒为单位。它用来指示心跳,最小的 session 过期时间为两倍的 tickTime. 

dataDir :存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。

clientPort :监听客户端连接的端口

 

使用单机模式时用户需要注意:这种配置方式下没有 ZooKeeper 副本,所以如果 ZooKeeper 服务器出现故障, ZooKeeper 服务将会停止。


以下代码清单 是我们的根据自身情况所设置的 zookeeper 配置文档: zoo.cfg

代码清单 A  zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

 

# the directory where the snapshot is stored.

dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/snapshot/data

 

# the port at which the clients will connect

clientPort=2181

 

2)集群模式

 

 

为了获得可靠的 ZooKeeper 服务,用户应该在一个集群上部署 ZooKeeper 。只要集群上大多数的ZooKeeper 服务启动了,那么总的 ZooKeeper 服务将是可用的。另外,最好使用奇数台机器。 如果 zookeeper拥有 5 台机器,那么它就能处理 2 台机器的故障了。


之后的操作和单机模式的安装类似,我们同样需要对 JAVA 环境进行设置,下载最新的 ZooKeeper 稳定版本并配置相应的环境变量。不同之处在于每台机器上 conf/zoo.cfg 配置文件的参数设置,参考下面的配置:


tickTime=2000

dataDir=/var/zookeeper/

clientPort=2181

initLimit=5

syncLimit=2

server.1=zoo1:2888:3888

server.2=zoo2:2888:3888

server.3=zoo3:2888:3888

 

 server.id=host:port:port. ”指示了不同的 ZooKeeper 服务器的自身标识,作为集群的一部分的机器应该知道 ensemble 中的其它机器。用户可以从“ server.id=host:port:port. ”中读取相关的信息。 在服务器的 data dataDir 参数所指定的目录)目录下创建一个文件名为 myid 的文件,这个文件中仅含有一行的内容,指定的是自身的 id 值。比如,服务器“ 1 ”应该在 myid 文件中写入“ 1 ”。这个 id 值必须是 ensemble 中唯一的,且大小在 1  255 之间。这一行配置中,第一个端口( port )是从( follower )机器连接到主( leader )机器的端口,第二个端口是用来进行 leader 选举的端口。在这个例子中,每台机器使用三个端口,分别是: clientPort 2181  port  2888  port  3888 


我们在拥有三台机器的 Hadoop 集群上测试使用 ZooKeeper 服务,下面代码清单 是我们根据自身情况所设置的 ZooKeeper 配置文档:

代码清单 B  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.

dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/snapshot/d1

 

# the port at which the clients will connect

clientPort=2181

 

server.1=IP1:2887:3887

server.2=IP2:2888:3888

server.3=IP3:2889:3889

 

清单中的 IP 分别对应的配置分布式 ZooKeeper  IP 地址。当然,也可以通过机器名访问 zookeeper ,但是需要在ubuntu  hosts 环境中进行设置。读者可以查阅 Ubuntu 以及 Linux 的相关资料进行设置。

 

3)集群伪分布

 

 

简单来说,集群伪分布模式就是在单机下模拟集群的ZooKeeper服务。

 

 

那么,如何对配置 ZooKeeper 的集群伪分布模式呢?其实很简单,在 zookeeper 配置文档中, clientPort参数用来设置客户端连接 zookeeper 的端口。 server.1=IP1:2887:3887 中, IP1 指示的是组成 ZooKeeper 服务的机器 IP 地址, 2887 为用来进行 leader 选举的端口, 3887 为组成 ZooKeeper 服务的机器之间通信的端口。集群伪分布模式我们使用每个配置文档模拟一台机器,也就是说,需要在单台机器上运行多个 zookeeper 实例。但是,我们必须要保证各个配置文档的 clientPort 不能冲突。


下面是我们所配置的集群伪分布模式,通过 zoo1.cfg  zoo2.cfg  zoo3.cfg 模拟了三台机器的 ZooKeeper集群。详见代码清单 C 

 

代码清单C  zoo1.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.

dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/d_1

 

# the port at which the clients will connect

clientPort=2181

 

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

zoo2.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.

dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/d_2

 

# the port at which the clients will connect

clientPort=2182

 

#the location of the log file

dataLogDir=/root/hadoop-0.20.2/zookeeper-3.3.1/logs

 

server.1=localhost:2887:3887 

server.2=localhost:2888:3888

server.3=localhost:2889:3889

 

zoo3.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.

dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/d_2

 

# the port at which the clients will connect

clientPort=2183

 

#the location of the log file

dataLogDir=/root/hadoop-0.20.2/zookeeper-3.3.1/logs

 

server.1=localhost:2887:3887 

server.2=localhost:2888:3888

server.3=localhost:2889:3889

 

从上述三个代码清单中可以看到,除了 clientPort 不同之外, dataDir 也不同。另外,不要忘记在 dataDir 所对应的目录中创建 myid 文件来指定对应的 zookeeper 服务器实例。

 

分享到:
评论

相关推荐

    Zookeeper安装教程.docx

    ### Zookeeper安装教程知识点详解 #### 一、Zookeeper简介 Zookeeper是一个分布式协调服务,用于管理和协调分布式环境中大量服务器的高可用性集群。它提供了一套完整的分布式应用程序协调服务,包括命名服务、配置...

    zookeeper安装步骤和文件.zip

    除了安装步骤,我们还有`zookeeper安装文档.zip`,它可能包含了更详细的安装指南、配置说明以及常见问题解答。建议在安装过程中查阅这些文档,以便更好地理解和配置ZooKeeper。 在实际应用中,ZooKeeper的使用通常...

    dubbo_ZooKeeper安装.zip

    **ZooKeeper 安装** 1. **下载 ZooKeeper** 首先,你需要访问ZooKeeper的官方网站(http://zookeeper.apache.org/releases.html)下载最新稳定版本的ZooKeeper。将下载的tarball文件上传到你的Linux服务器上,例如...

    zookeeper安装教程

    ### Zookeeper安装教程知识点 #### 一、Zookeeper概述 - **Zookeeper**:是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据...

    dubbo-zookeeper安装使用

    【标题】"dubbo-zookeeper安装使用"涵盖了两个主要的技术领域:Apache Dubbo和Zookeeper。Dubbo是一款高性能、轻量级的Java RPC框架,它提供了服务治理的强大功能,而Zookeeper是Apache的一个分布式协调服务,常用于...

    zookeeper安装及开发笔记

    确保所有服务器都安装了JDK,因为ZooKeeper的运行依赖Java环境。接着,从官方站点下载最新版本的ZooKeeper安装包,例如这里使用的Zookeeper-3.5.0-alpha。 安装过程中,第一步是解压缩下载的安装包,并在conf目录下...

    zookeeper安装文档.docx

    ### Zookeeper在CentOS7上的安装与配置 #### 一、概述 Zookeeper是一个开源的分布式协调服务,用于解决分布式应用程序中的常见问题,例如命名服务、配置管理、集群同步等。它提供了一种简单的方式来维护和管理...

    zookeeper安装部署基本操作

    Zookeeper 安装部署基本操作 本节课程主要讲解 Zookeeper 的安装部署基本操作,包括 Zookeeper 的架构发展过程、Zookeeper 的定义、Zookeeper 的安装部署过程、zoo.cfg 配置文件分析等内容。 Zookeeper 的架构发展...

    zookeeper安装手册(Linux)

    ### Zookeeper安装手册(Linux) #### 一、概述 Zookeeper是一个分布式的、开放源码的协调服务,用于管理和协调大型分布式系统中的进程。本文档旨在详细介绍如何在Linux环境下安装和配置Zookeeper。 #### 二、...

    zookeeper安装.md

    zookeeper安装

    ZooKeeper安装

    ZooKeeper安装 ZooKeeper是Apache Hadoop项目下的一个子项目,主要用来进行分布式应用程序的配置和协调。下面是 ZooKeeper安装的详细步骤: 前提条件 在安装 ZooKeeper 之前,需要确保系统是在以下任一操作系统...

    zookeeper安装和使用.docx

    ZooKeeper 安装和使用 ZooKeeper 是一个开源的分布式应用程序协调服务,提供了配置管理、命名、提供分布式同步和提供组服务等功能。下面是 ZooKeeper 的安装和使用步骤: 1. 下载和解压 ZooKeeper 首先,需要下载...

    centos7_zookeeper安装文档1

    本文将详细介绍在 CentOS7 上安装 Zookeeper 的过程,特别是单机安装步骤,以及如何配置和启动 Zookeeper 服务。 ### Zookeeper 安装 1. **选择版本**: 安装前,你需要决定使用哪个版本的 Zookeeper。在描述中...

    hadoop,hbase,zookeeper安装笔记

    hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记

    zookeeper安装文档1

    ### Zookeeper 安装与集群部署详解 #### 1. Zookeeper 介绍 - **定义**: ZooKeeper 是一款分布式的、开源的应用程序协调服务。它最初由雅虎实验室开发,并于2008年成为Apache顶级项目。ZooKeeper 的设计目的是解决...

    淘淘商城06-zookeeper安装文件

    《淘淘商城06-zookeeper安装详解》 Zookeeper,作为一款分布式协调服务,广泛应用于大数据、云计算等领域,是Apache Hadoop项目的重要组件。它为分布式应用提供了高效且可靠的命名服务、配置管理、集群同步、分布式...

    Zookeeper_安装和配置

    Zookeeper 的单机模式安装非常简单,主要涉及以下步骤: 1. **下载**:首先从官方网站或其他可信源下载 Zookeeper 的安装包。 2. **解压**:将下载的安装包解压到合适的目录。 3. **配置**:进入 `conf` 子目录,...

    zookeeper安装教程.pdf

    zookeeper安装教程.pdf,详细介绍了这么安装zookeeper,与使用znode

Global site tag (gtag.js) - Google Analytics