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

zookeeper安装步骤入门知识

阅读更多

ZooKeeper安装与配置(转载)

一. 单机安装、配置:
1. 下载zookeeper二进制安装包
下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz

2.解压zookeeper安装包
把zookeeper-3.4.3.tar.gz文件存放在/home/hadoop目录下,进行解压:

hadoop@ubuntu:~$ sudo tar -zxvf zookeeper-3.4.3.tar.gz
hadoop@ubuntu:~$ chown -R hadoop:hadoop zookeeper-3.4.3


3.设置环境变量
在/etc/profile,/home/hadoop/.bashrc文件中添加如下红色信息
#set java environment
ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.3
MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$ZOOKEEPER_HOME/lib:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export ZOOKEEPER_HOME
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH

4.配置
配置文件存放在$ZOOKEEPER_HOME/conf/目录下,将zoo_sample.cfd文件名称改为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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/hadoop/zookeeper-3.4.3/data #这是我修改后的
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
复制代码

配置说明:
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

5.启动zookeeper
当这些配置项配置好后,你现在就可以启动zookeeper了:

hadoop@ubuntu:~/ netstat -at|grep 2181 #查看zookeeper端口
hadoop@ubuntu:~/ netstat -nat #查看端口信息
hadoop@ubuntu:~/zookeeper-3.4.3/bin$ ./zkServer.sh start #启动 
hadoop@ubuntu:~/zookeeper-3.4.3/bin$ jps #查看启动的服务名称
hadoop@ubuntu:~/zookeeper-3.4.3/bin$ ./zkServer.sh stop #关闭

启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat -at|grep 2181 命令查看是否有 clientPort 端口号在监听服务。

zookeeper基础

 

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等.[1]
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。[2]提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

原理

ZooKeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。[4]
ZooKeeper的基本运转流程:
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的zxid。
5、集群中大多数的机器得到响应并follow选出的Leader
 

特点

在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置 为EPHEMERAL,那么当这个创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper 里.Zookeeper使用Watcher察觉事件信息,当客户端接收到事件信息,比如连接超时,节点数据改变,子节点改变,可以调用相应的行为来处理数 据.Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交.
那么Zookeeper能作什么事情呢,简单的例子:假设我们我们有个20个搜索引擎服务器(每个负责总索引中的一部分的搜索任务)和一个 总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的 cgi(向总服务器发出搜索请求).搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引.这20个搜索引擎的服务器经常要让正在 提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以搜索提供服务了.使用Zookeeper可以保证总服务器自动 感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,备用的总服务器宕机时自动启用备用的总服务器

部署

我需要运行几个ZooKeeper?
你运行一个zookeeper也是可以的,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高,当然最好是部署奇数个,偶数个是不可以的,但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳。你需要给每个zookeeper 1G左右的内存,如果可能的话,最好有独立的磁盘。 (独立磁盘可以确保zookeeper是高性能的。).如果你的集群负载很重,不要把Zookeeper和RegionServer运行在同一台机器上面。就像DataNodes 和 TaskTrackers一样

 

 

分享到:
评论

相关推荐

    分布式系统协调服务 ZooKeeper 的安装与使用入门

    内容概要:本文详细介绍了 Apache ZooKeeper 的基础知识、安装步骤以及基本操作。首先,从下载和解压安装包开始,然后逐步配置 ZooKeeper,启动和检查状态。接着,使用命令行工具进行基本的操作,如创建、查看、列出...

    dubbo+zookeeper入门资源

    【标题】"dubbo+zookeeper入门...这个入门资源不仅涵盖了理论知识,还提供了实战环节,对于初学者来说是一份非常宝贵的资料,能够帮助他们快速掌握Dubbo和Zookeeper的联合使用,为后续深入学习分布式系统打下坚实基础。

    zookeeper+hbase快速入门全套笔记

    ### Zookeeper快速入门知识点 #### 一、Zookeeper基本功能及应用场景 Zookeeper是一个分布式的、开放源码的协调服务,用于大型应用中管理和协调分布式环境下的服务。它提供了简单的接口来实现复杂的一致性问题,如...

    ZooKeeper入门简介及配置使用PDF

    4. **安装与配置**:详述在不同操作系统上安装ZooKeeper的步骤,配置ZooKeeper的配置文件`zoo.cfg`,包括数据目录设置、客户端连接端口、集群节点列表等。 5. **命令行工具**:介绍`zkCli.sh`命令行工具的使用,...

    ZooKeeper分布式协调服务:从入门到实战详解

    接下来,深入探讨了ZooKeeper的安装配置步骤,使读者能够在本地环境中部署和运行ZooKeeper服务。最后,通过多个实战案例(如配置管理、分布式锁、命名服务等),展示了如何在实际开发中利用ZooKeeper解决分布式系统...

    zookeeper一站式学习资料

    针对学习资源,"国内首部Zookeeper从入门到精通"很可能是系列教程书籍或课程,它会从基础知识开始,逐步介绍Zookeeper的安装配置、API使用、集群搭建以及常见问题的解决。"搜索引擎等一条龙学习资料"可能涵盖了...

    尚硅谷大数据技术之Zookeeper1

    通过以上步骤,读者能够掌握Zookeeper的基础知识和本地安装过程,为进一步学习和应用Zookeeper在分布式系统中的协调服务打下基础。对于更多关于Java、大数据、前端、Python及人工智能的学习资源,可以通过尚硅谷官网...

    大数据技术领域Hadoop组件ZooKeeper入门体验

    文档提供了详尽的操作步骤和解释来引导读者逐步深入掌握 ZooKeeper 的实际应用技巧。 适合人群:面向Hadoop和分布式系统开发者、运维人员以及相关领域的技术人员。 使用场景及目标:本文适合于想要了解ZooKeeper的...

    Hadoop快速入门——第四章、zookeeper安装包

    总结来说,Hadoop快速入门的第四章主要介绍了Zookeeper的安装和配置,这对于理解和实践Hadoop分布式计算至关重要。通过学习Zookeeper,你可以更好地理解分布式系统的协调机制,提升你在大数据领域的专业能力。

    大数据基础面试题hadoop,zookeeper,hbase,hive,spark,kafka,flink,clickhouse

    以下是一些关于标题和描述中提及的关键技术的知识点详解: 1. **Hadoop**: Hadoop 是一个开源的分布式计算框架,核心由 HDFS(Hadoop Distributed File System)和 MapReduce 组成。HDFS 提供高容错性的存储系统...

    kafka入门资料

    ### Kafka入门知识点详解 #### 一、概述与系统环境 Kafka是一款强大的分布式消息系统,主要应用于实时数据处理场景。其高效的数据传输能力和高吞吐量特性使其在大数据领域受到广泛青睐。 - **系统环境**:本文档...

    分布式RPC框架Apache Dubbo

    本文将深入探讨Dubbo的核心特性,包括服务注册中心Zookeeper的安装使用、Dubbo管理控制台的配置以及Dubbo的快速入门案例。 一、Apache Dubbo概述 Apache Dubbo 是一个基于Java的RPC框架,它通过定义服务接口,实现...

    Hadoop入门手册

    6. **Hadoop安装与配置**:详述在不同操作系统上安装Hadoop的步骤,包括单机模式、伪分布式模式和完全分布式模式的配置,以及环境变量设置和集群优化技巧。 7. **数据输入与输出**:理解Hadoop如何处理不同类型的...

    Redoop CRH 4.9 X86_Hadoop

    本手册为初学者提供Hadoop入门知识,包括安装、配置、使用Hadoop服务,以及通过实例加深理解。提供了HDFS、MapReduce、Zookeeper和YARN等核心组件的详细使用说明。 2. Hadoop入门 入门部分介绍了Hadoop的安装过程,...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx

    安装Hadoop涉及到设置环境变量、配置集群参数等步骤。在安装过程中,还需要创建特定的用户和权限,以及通过SSH免密连接优化集群管理。 【其他大数据技术】 课程中还涵盖了Spark、Neo4j等其他大数据技术。Spark是...

    zk开发指南,专门指导zk的开发,很不错。

    2. "ZK开发手册" 显然是Zookeeper的官方或非官方开发指南,这类手册通常包括安装步骤、API详解、配置说明、最佳实践和常见问题解答等内容。 基于以上信息,我们可以推测这份资料可能涵盖以下Zookeeper开发的知识点...

    SpringCloud-Eureka

    Eureka 的快速入门可以通过创建项目、选择依赖、分析 pom.xml 等步骤来完成。Spring Cloud Eureka 提供了详细的文档和示例代码,可以帮助开发者快速上手。 Spring Cloud Eureka 是一个流行的注册中心,提供了服务...

    dubbo 入门经验 总结

    Dubbo是中国阿里巴巴公司开源的一款高性能、轻量级的Java服务治理框架...通过以上步骤,你已经掌握了Dubbo的基本入门知识。随着对Dubbo的深入了解,你将能够利用其强大的服务治理功能,构建出高效、稳定的分布式应用。

    大数据系列-Hive入门与实战.pptx

    大数据系列-Hive入门与实战 Hive 是什么? ---------------- ...同时,Hive 的安装、开发和使用都需要了解 Hive 的基本概念和语法,需要掌握 Hive 的设计特征、体系结构、用户接口、应用场景等知识。

Global site tag (gtag.js) - Google Analytics