`
king_c
  • 浏览: 225365 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初识ZOOKEEPER

 
阅读更多

Hadoop下面的子项目ZooKeeper是一个用于协调分布式程序的服务。我们可以利用它来保证各个机器之间的数据同步。

单机环境运行ZOOKEEPER

1 下载ZooKeeper:http://labs.xiaonei.com/apache-mirror/hadoop/zookeeper/zookeeper-3.2.2/zookeeper-3.2.2.tar.gz

2 解压。

3 在conf目录下创建一个配置文件zoo.cfg,然后指定其中的内容为:

tickTime=2000
dataDir=/home/admin/aaron/data
clientPort=2181
4 创建/home/admin/aaron/data文件夹,用于存放ZooKeeper的同步数据。
5 启动ZooKeeper的Server: sh bin/zkServer.sh start
这样,我们的ZooKeeper的Server就运行起来了。我们将看到这样一些信息:

[admin@hadoop1 zookeeper-3.2.2]$ sh bin/zkServer.sh start 
JMX enabled by default 
Using config: /home/admin/aaron/zookeeper-3.2.2/bin/../conf/zoo.cfg 
Starting zookeeper ... 
STARTED

如果想要关闭,输入:

[admin@hadoop1 zookeeper-3.2.2]$ sh bin/zkServer.sh stop 
JMX enabled by default 
Using config: /home/admin/aaron/zookeeper-3.2.2/bin/../conf/zoo.cfg 
Stopping zookeeper ... 
STOPPED

多机环境运行ZOOKEEPER

单机环境适合于开发与调试,但是正真应用在生产环境,我们还需要使用可以容错的多机环境。

1 我们在3台机器(hadoop1,hadoop2,hadoop3)上分别下载并解压。

2 在conf目录下创建一个配置文件zoo.cfg,然后指定其中的内容为:

tickTime=2000 
dataDir=/home/admin/aaron/data 
clientPort=2181 
initLimit=5 
syncLimit=2 
server.1=hadoop1:2888:3888 
server.2=hadoop2:2888:3888 
server.3=hadoop3:2888:3888

3 创建/home/admin/aaron/data文件夹(如果之前有数据,请先清空),用于存放ZooKeeper的同步数据。

4 在/home/admin/aaron/data文件夹中创建myid文件,hadoop1机器的内容为:1,hadoop2机器的内容为:2,hadoop3机器的内容为:3

5 分别在3台机器上启动ZooKeeper的Server:sh bin/zkServer.sh start

这样,我们的多机环境的ZooKeeper就启动起来了。现象是和单机一致的。

连接ZOOKEEPER SERVER

ZooKeeper的Server集群启动起来以后,我们就可以利用ZooKeeper的Client连接Server了。

我们在hadoop1机器上连接ZooKeeper集群:sh bin/zkCli.sh -server hadoop1:2181

成功后,出现如下的对话框

[zk: hadoop1:2181(CONNECTED) 0]

我们就可以再这里输入命令了。

显示所有的可以使用的命令:

[zk: hadoop1:2181(CONNECTED) 0] help 
ZooKeeper -server host:port cmd args 
        connect host:port 
        get path [watch] 
        ls path [watch] 
        set path data [version] 
        delquota [-n|-b] path 
        quit 
        printwatches on|off 
        create [-s] [-e] path data acl 
        stat path [watch] 
        close 
        history 
        listquota path 
        setAcl path acl 
        getAcl path 
        sync path 
        redo cmdno 
        addauth scheme auth 
        delete path [version] 
        setquota -n|-b val path

显示当前的数据:

[zk: hadoop1:2181(CONNECTED) 2] ls / 
[zookeeper]

然后,我们添加一个新的数据

[zk: hadoop1:2181(CONNECTED) 4] create /alibaba gpcuster 
Created /alibaba

再查看数据:

[zk: hadoop1:2181(CONNECTED) 5] ls / 
[alibaba, zookeeper]

现在,就多了一个数据节点alibaba。

查看这个节点的值:

[zk: hadoop1:2181(CONNECTED) 6] get /alibaba 
gpcuster 
cZxid = 4294967298 
ctime = Fri Jan 15 13:42:05 CST 2010 
mZxid = 4294967298 
mtime = Fri Jan 15 13:42:05 CST 2010 
pZxid = 4294967298 
cversion = 0 
dataVersion = 0 
aclVersion = 0 
ephemeralOwner = 0 
dataLength = 8 
numChildren = 0

还有其他的命令,比如修改,删除等等。

MORE

我们现在只是搭建起来的Zookeeper的环境,以及通过命令行的方式操作。

接下来的我们会继续看看ZooKeeper是如何工作的,如何通过编程的方式来操作,以及如何在实际的应用中使用ZooKeeper。

 

更多关于ZooKeeper的文章请参考:http://www.cnblogs.com/gpcuster/tag/ZooKeeper/

分享到:
评论

相关推荐

    ZooKeeper-分布式过程协同技术详解 PDF 高清完整版

    第一部分“初识ZooKeeper”主要包括第一章和第二章,主要介绍了Zookeeper的起源、设计目标、系统架构以及它在分布式系统中的角色。这一部分会让读者明白Zookeeper如何通过提供一致性服务,解决分布式环境下的命名、...

    深入分析zookeeper实现原理

    #### 初识Zookeeper 在深入了解Zookeeper之前,我们先简要介绍下Zookeeper以及它所处的分布式环境的一些特点。 **分布式环境的特点:** - **分布性:** 系统由多个通过网络连接的节点组成。 - **并发性:** 多个...

    PyPI 官网下载 | tunga-1.0.46.tar.gz

    《PyPI官网下载:tunga-1.0.46.tar.gz——深入解析Python云原生分布式库》 在Python的生态系统中,PyPI(Python ...无论你是初识Zookeeper的新手,还是寻求优化现有系统的专家,tunga都是值得探索和使用的强大工具。

    Zookeeper初识

    ### Zookeeper初识 #### 一、分布式一致性问题概述 在分布式系统中,为了提高系统的可用性和性能,通常会采用数据复制技术。然而,数据复制也会带来一致性问题,即不同节点间的数据副本可能不一致。例如,当客户端...

    zookeeper-3.4.5.tar.gz(安装包).rar

    Zookeeper作为Hadoop的资源调度中心,应用十分广泛,有需要的自行下载 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为...

    05.01初识HBase1

    【初识HBase】 HBase,全称Hadoop Database,是一种构建在Hadoop文件系统(HDFS)之上的分布式列式存储系统。它源于Google的Bigtable论文,旨在解决大数据量场景下的数据存储和检索问题。HBase不同于传统的关系型...

    SpringCloud核心技术-初识SpringCloud微服务解决方案.docx

    SpringCloud 核心技术初识微服务解决方案 SpringCloud 是一个基于 Java 语言的微服务架构解决方案,由 Netflix 公司开发,旨在帮助开发者快速构建可靠的微服务系统。 SpringCloud 的核心技术包括服务注册、服务...

    初识Hadoop 2.x.pdf

    - **ZooKeeper**:用于协调分布式应用中的服务,提供了一套完整的分布式协调机制。 #### 四、Hadoop 2.x 环境搭建 为了能够有效地使用Hadoop 2.x进行大数据处理,需要搭建一个适合的运行环境。具体步骤包括但不...

    Java思维导图xmind文件+导出图片

    初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么...

    Java分布式Elastic-Job和Quartz定时任务课程(1.6G)

    9_前期准备-Zookeeper.mp4 10_知识点检测与小结.mp4 11_Elastic-Job框架介绍.mp4 12_初识Elastic-Job.mp4 13_急速入门Simple-1.mp4 14_急速入门Simple-2.mp4 15_急速入门dataflow.mp4 16_急速入门script.mp4 17_知识...

    Hadoop权威指南(中文版)2015上传.rar

    第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce 一个气象数据集 数据的格式 使用...

    Hadoop大数据管理实验详细参考文档

    在本套“Hadoop大数据管理实验详细参考文档”中,我们涵盖了从初识Hadoop到进行实际操作的全过程,旨在帮助新手快速入门大数据处理的世界。Hadoop是一个开源框架,主要用于处理和存储海量数据,它的核心组件包括HDFS...

    Hadoop权威指南 第二版(中文版)

    第1章 初识Hadoop  数据!数据!  数据存储与分析  与其他系统相比  关系型数据库管理系统  网格计算  志愿计算  1.3.4 Hadoop 发展简史  Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce  一个气象数据...

    拥抱大数据——初识Hadoop,轻松应对海量数据存储与分析所带来的挑战

    Hadoop生态系统非常庞大,包括HBase(分布式数据库)、Hive(数据仓库工具)、Pig(高级数据处理语言)、ZooKeeper(分布式协调服务)等。这些组件协同工作,提供了一套完整的数据处理解决方案。 【搭建Hadoop环境...

    Hadoop 权威指南(中文前三章)

    #### 一、初识Hadoop **1.1 数据!数据** - **数据量的增长**: 随着信息技术的发展,全球范围内存储的电子数据量呈爆炸式增长。例如,根据IDC的估计,2006年全球“数字宇宙”(digital universe)的数据总量达到了...

    SpringAll_wuyouzhuguli.tar.gz

    循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 ...Spring Boot整合Dubbo&Zookeeper; 监控Dubbo服务 Dubbo的高可用

    Hadoop权威指南---中文版归纳.pdf

    1. **初识Hadoop** - **数据的重要性**:在信息化社会,数据的爆炸式增长对存储和分析提出了新的挑战。Hadoop应运而生,旨在处理和存储大规模数据。 - **Hadoop发展历史**:从Google的MapReduce和GFS论文出发,...

    Hadoop权威指引-中文版前三章.pdf

    1. **初识Hadoop** - Hadoop是一个开源框架,专为处理和存储大量数据而设计。在大数据时代,随着数据量的急剧增长,传统的单机系统无法应对,Hadoop应运而生,通过分布式计算解决了这个问题。 - Hadoop发展始于...

    dubbo中文文档用户手册

    这份手册分为用户手册、开发手册和管理员手册三个部分,涵盖了从初识到深入理解,再到实际操作的全方位知识。 用户手册:这部分主要面向的是对Dubbo有一定了解,需要快速上手的开发者。它详述了如何配置Dubbo服务,...

Global site tag (gtag.js) - Google Analytics