Kafka--分布式消息队列

  Kafka 分布式的发布-订阅消息系统。最初由 LinkedIn 公司开发,使用 Scala 语言编写,2010年12月份开源成为 Apache 项目的一部分。Kafka 是一个高吞吐量的、持久性的、分布式发布订阅消息系统它主要用于处理活跃的数据(登录、浏览、点击、分享、喜欢等用户行为产生的数据)。

Kafka概述

设计

  • 主要的设计元素
    1. Kafka在设计之时为就将持久化消息作为通常的使用情况进行了考虑。
    2. 主要的设计约束是吞吐量而不是功能。
    3. 有关哪些数据已经被使用了的状态信息保存为数据使用者(consumer)的一部分,而不是保存在服务器之上。
    4. Kafka是一种显式的分布式系统。它假设,数据生产者(producer)、代理(brokers)和数据使用者(consumer)分散于多台机器之上。
  • 在对消息进行存储和缓存时,Kafka严重地依赖于文件系统。所有数据都要立即写入文件系统持久化的日志中但不进行刷新数据的任何调用(有刷新策略,可以配置。就意味着,数据被传输到OS内核的页面缓存中了,OS随后会将这些数据刷新到磁盘的。

Hadoop--Ganglia集群监控

  Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程,gmond 带来的系统负载非常少,不会影响用户性能。

Ganglia简介

  • Ganglia 监控套件包括个主要部分:gmetadgmond,和网页接口(ganglia-web)
  • Gmetad :也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。他可以查询多个集群并聚合指标。
  • Gmond :是一个守护进程,他运行在每一个需要监测的节点上发送和接受在同一个组播或单播通道上的统计信息发送-收集基本指标,比如系统负载、CPU利用率等。 接收者-聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。
  • Ganglia-web :安装在有gmetad运行的机器上,以便读取RRD文件。
  • 一般集群中每个节点需要一个接收的gmond,每个网站需要一个gmetad

Hadoop--2.0集群

  本篇博客主要讲解Hadoop2.0集群的安装配置(以hadoop-2.6.0.tar.gz为例),使用centsos6.5,jdk使用1.7。由于前面几篇博客已经讲解hadoop1.0hadoop2.0的伪分布式安装了,所以该篇博文就不一一贴步骤了(会省略基本的环境准备)。

  1. 设置ip地址
  2. 关闭防火墙
  3. 设置主机名
  4. 绑定Hostname
  5. 设置ssh
  6. 安装JDK
  7. 上传hadoop-2.6.0.tar.gz

Hadoop--2.0伪分布式安装

  本篇博客主要讲解Hadoop2.0伪分布式的安装配置(以hadoop-2.6.0.tar.gz为例),使用centsos6.5,jdk使用1.7。安装环境比较简单我就直接贴步骤了。如想安装1.0可查看博客http://blog.xiaoxiaomo.com/2016/04/09/Hadoop-1-0伪分布式安装/

准备

Zookeeper--概述及应用

  ZookeeperHadoop 的分布式协调服务,起源于Google的Chubby。分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper 可以保证数据在Zookeeper 集群之间的数据的事务性一致。

总体概述

ZooKeeper总体架构

  1. 组成: ZooKeeper集群即多个Server节点其中有一个Leader的节点,和多个Follower组成
  2. 写请求: 当客户端Client执行写请求时,会发送到Leader节点上,然后Leader节点上数据变更会同步到集群中其他的Follower节点。Leader节点在接收到数据变更请求后,首先将变更写入本地磁盘,以作恢复之用。当所有的写请求持久化到磁盘以后,才会将变更应用到内存中。
  3. 协议: ZooKeeper使用了一种自定义的原子消息协议,在消息层的这种原子特性,保证了整个协调系统中的节点数据或状态的一致性和本地的ZooKeeper数据与Leader节点同步。
  4. 选举: 当Leader节点发生故障,消息层负责重新选举出Leader,继续作为协调服务集群的中心,处理客户端写请求。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器