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”主要包括第一章和第二章,主要介绍了Zookeeper的起源、设计目标、系统架构以及它在分布式系统中的角色。这一部分会让读者明白Zookeeper如何通过提供一致性服务,解决分布式环境下的命名、...
#### 初识Zookeeper 在深入了解Zookeeper之前,我们先简要介绍下Zookeeper以及它所处的分布式环境的一些特点。 **分布式环境的特点:** - **分布性:** 系统由多个通过网络连接的节点组成。 - **并发性:** 多个...
《PyPI官网下载:tunga-1.0.46.tar.gz——深入解析Python云原生分布式库》 在Python的生态系统中,PyPI(Python ...无论你是初识Zookeeper的新手,还是寻求优化现有系统的专家,tunga都是值得探索和使用的强大工具。
### Zookeeper初识 #### 一、分布式一致性问题概述 在分布式系统中,为了提高系统的可用性和性能,通常会采用数据复制技术。然而,数据复制也会带来一致性问题,即不同节点间的数据副本可能不一致。例如,当客户端...
Zookeeper作为Hadoop的资源调度中心,应用十分广泛,有需要的自行下载 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为...
【初识HBase】 HBase,全称Hadoop Database,是一种构建在Hadoop文件系统(HDFS)之上的分布式列式存储系统。它源于Google的Bigtable论文,旨在解决大数据量场景下的数据存储和检索问题。HBase不同于传统的关系型...
SpringCloud 核心技术初识微服务解决方案 SpringCloud 是一个基于 Java 语言的微服务架构解决方案,由 Netflix 公司开发,旨在帮助开发者快速构建可靠的微服务系统。 SpringCloud 的核心技术包括服务注册、服务...
- **ZooKeeper**:用于协调分布式应用中的服务,提供了一套完整的分布式协调机制。 #### 四、Hadoop 2.x 环境搭建 为了能够有效地使用Hadoop 2.x进行大数据处理,需要搭建一个适合的运行环境。具体步骤包括但不...
初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么...
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_知识...
第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce 一个气象数据集 数据的格式 使用...
在本套“Hadoop大数据管理实验详细参考文档”中,我们涵盖了从初识Hadoop到进行实际操作的全过程,旨在帮助新手快速入门大数据处理的世界。Hadoop是一个开源框架,主要用于处理和存储海量数据,它的核心组件包括HDFS...
第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce 一个气象数据...
Hadoop生态系统非常庞大,包括HBase(分布式数据库)、Hive(数据仓库工具)、Pig(高级数据处理语言)、ZooKeeper(分布式协调服务)等。这些组件协同工作,提供了一套完整的数据处理解决方案。 【搭建Hadoop环境...
#### 一、初识Hadoop **1.1 数据!数据** - **数据量的增长**: 随着信息技术的发展,全球范围内存储的电子数据量呈爆炸式增长。例如,根据IDC的估计,2006年全球“数字宇宙”(digital universe)的数据总量达到了...
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 ...Spring Boot整合Dubbo&Zookeeper; 监控Dubbo服务 Dubbo的高可用
1. **初识Hadoop** - **数据的重要性**:在信息化社会,数据的爆炸式增长对存储和分析提出了新的挑战。Hadoop应运而生,旨在处理和存储大规模数据。 - **Hadoop发展历史**:从Google的MapReduce和GFS论文出发,...
1. **初识Hadoop** - Hadoop是一个开源框架,专为处理和存储大量数据而设计。在大数据时代,随着数据量的急剧增长,传统的单机系统无法应对,Hadoop应运而生,通过分布式计算解决了这个问题。 - Hadoop发展始于...
这份手册分为用户手册、开发手册和管理员手册三个部分,涵盖了从初识到深入理解,再到实际操作的全方位知识。 用户手册:这部分主要面向的是对Dubbo有一定了解,需要快速上手的开发者。它详述了如何配置Dubbo服务,...