hadoop系列:zookeeper(1)——zookeeper单点和集群安装

1、概述

8月份的第一周,忙得晕头转向,为了解决OSGI-Felix 下 hibernate JPA的ClassLoader问题,就耽误了至少两天时间,还好在周五系统成功在servicemix上运行了。已经几天时间没有碰博客了,刚好下周有安排给实验室的几个大神讨论zookeeper相关技术。

我这么一想,咦~~刚好这周末准备PPT的时候,还不如就预先做几篇关于zookeeper的文章,这样既可以两件工作合成一件,又可以在介绍枯燥的负载均衡层的时候,提前给大家透露一些更精彩的技术内容,权当是为以后hadoop生态系统的讲解预热吧。

话转正题,介绍zookeeper的文章,我将分成三个部分,第一篇文章我们讲解zookeeper的两种安装方式包括一些基本的;第二篇文章我们讲解zookeeper的核心原理,包括选举算法和事件机制;第三篇文章我们做一些编码实例,实际讲解zookeeper的使用场景。这样希望大家可以学以致用。

哦,还要说明一下,包括LVS+Keepalived+Nginx配置在内的最后两篇负载均衡层的文章不会水了大家。只是延迟一周左右退出,要知道小弟我也要优先完成公司的的任务啊,毕竟要吃一口饭。哈哈。

2、zookeeper是什么

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop的重要组件,CDH版本中更是使用它进行Namenode的协调控制。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

好吧,我“百度”的,怎样?不服就飞成都约我吃饭,^_^。说得那么抽象,zookeeper到底能为我们的分布式系统做什么事情呢:

  • 管理系统中独特的/统一的信息:

一个分布式系统的各节点可能需要一个规范的、各节点的唯一的命名(例如节点名、CPU编号等),ZK可以实现这个的应用场景。

各个节点也会有一致的信息,例如每个节点的主配置信息。为了管理方便,新加入的节点也需要快速同步这些信息。使用ZK可以方便的做到。

  • 集群状态监控和通知

分布式系统中的每个节点需要知道整个系统的状态、知道系统中每个节点的状态:当有新节点加入时它需要知道、当有节点出现故障时它需要知道、当有节点退出时它需要知道。ZK就是这样一个“通知工具”。

  • 协调资源抢占(锁)

当分布式系统的多个节点试图同时抢占唯一资源时(例如同时写入一个文件),就需要对这个唯一资源的使用进行协调。这是ZK的“协调者”功能。

  • 分派计算任务

如何协调1000个需要同时处理的任务到分布式系统的13个节点?如何保证执行失败的任务能被重新执行?如何在某个节点崩溃的情况下,接管其正在处理的任务?

在了解了zookeeper的工作原理后,也许您还可以发现zookeeper的更多使用场景。我们也会在介绍zookeeper的第三篇文章中,用实际编写代码的方式向各位读者演示zookeeper如何实现以上各种工作任务的。

3、单点模式的安装

下面我们就来实际安装zookeeper。首先我们进行单服务器的zookeeper安装,让zookeeper跑起来。成功后,我们再进行扩展,在多台(三台)服务器上进行zookeeper的安装,并让其作为一个整体,运行起来。

3.1、准备工作

我们将在IP:192.168.61.130的机器上安装zookeeper,您至少需要准备:

1、JDK1.7.X版本,根据您自己的实际情况选择32位系统或者63位系统。下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

2、zookeepe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值