分享

Hadoop项目组成部分

xioaxu790 2014-1-1 21:41:33 发表于 概念型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 10644
Hadoop项目组成部分



1、hadoop Common:支撑Hadoop的公共部分,包括文件系统、远程过程调用和序列化函数库等。

2、HDFS:高吞吐量的分布式文件系统。

3、MapReduce:大型分布式数据处理模型。

4、HBase:基于Hadoop的结构化数据存储分布式数据库。其和Hadoop一样,支持三种运行模式,单机模式、伪分布式模式、完全分布模式。   
1)HBase以表的形式存储数据,每个表由行和列组成,每个列属于一个特定的列族,表中由行和列确定的存储单元称为一个元素,每个元素保存了同一份数据的多个版本,由时间戳来标识。

5、Hive:一个构建在Hadoop上的数据仓库平台,提供数据摘要和查询功能的数据仓库,其设计目标是使Hadoop上的数据操作与传统SQL结合。
1)组件:元数据库(默认为内嵌的Derby,可选用MySQL)、shell环境、解析器、数据仓库、用户接口、Thrift服务器、Hadoop(要与Hive版本兼容)
2)Hive是一个客户端工具,其运行模式分为三种,即内嵌模式、本地模式、远程模式。

6、Pig:在MapReduce上构建的一种高级的数据流语言。
1)Pig相当于一个Hadoop的客户端,它先连接到Hadoop集群,之后才能在集群上进行各种操作。
2)Pig Latin是Pig专用的语言,是类似于SQL的面向数据流的语言,也允许用户自定义一些函数(UDF)。当需要处理海量数据时,先用Pig Latin语言编写其程序,然后在Pig中执行Pig latin程序。Pig可以自动对集群进行分配和回收,并自动地对MapReduce程序进行优化。
3)两种工作模式:本地模式和MapReduce模式(默认模式),输入pig -x local命令便可以进入本地模式。

7、Cassandra:可扩展分布式数据库。
1)Cassandra是一套分布式的K-V型的数据库系统,是一套高度可扩展、最终一致、分布式的结构化键值存储系统,它结合了Dynamo的分布式技术和BigTable数据模型。解决了应用与关系数据库模型之间存在的非依赖关系。
2)体系结构:Cassandra体系结构分为三层,分别为核心层(主要提供一些底层服务包括用户的信息服务,分区、复制、Gossip失效检测等)、中间层(融合了Bigtable存储系统的架构技术、日志记录、SStable存储模型、合并压缩技术等)和顶层(主要提供应用API和工具API、监控工具)。
3)Cassandra可以实时处理海量数据的实时读取与写入,不擅长数据分析,因此,可将Cassandra的存储能力与MapReduce的计算能力进行结合。
4)通过MapReduce程序,将存储在HDFS上的文件导入到Cassandra当中,Cassandra应用的优势是存储小文件。

8、Chukwa:一个基于Hadoop的大规模集群监控系统,用来管理大型分布式系统的数据采集。
1)主要用于日志的收集和数据的监控,并与Mapreduce协同处理数据。
2)用来保障大型分布式系统的可靠性,具有良好的适应性和扩展性,能够实现日志收集系统故障的统一处理。
3)Chukwa主要用于日志收集和分析,可用于展示、监控和分析已收集的数据。其面对的是大规模的分布式集群,有2000个以上的节点,每天产生的数据量在T级别以上。
4)四个组成部分:
代理(Agents):运行在集群的每一个节点上,负责采集最原始的数据,并发送给收集器。
收集器:负责收集由代理传送的数据,并定时写入到大规模集群中。
MapReduce作业:定时启动,负责将集群中的数据进行分类、排序、去重与合并,实现数据的分析和处理。
a.Archiving作业只负责将所有的收集数据归档,不做任何处理和解释。
b.Demux作业负责对数据的分类、排序和去重。
Hadoop基础管理中心。
a.HICC是一个用来展示Chukwa数据的门户网站型的接口,实质上是一个用Jetty实现的Web服务端,即Chukwa的可视化界面。
b.需要MySQL数据库和SSH或Daemons。
5)Chukwa是分布式的,配置工作需要在客户端和服务器上分别进行。部署一个最低配置的Chukwa需要以下3个关键部分:
a.一个Chukwa存储数据的Hadoop集群。
b.一个收集器,将收集到的数据写入到Hadoop的分布式文件系统中。
c.一个或者多个代理,负责将监控到的数据发送到收集器

9、Zookeeper:用于解决分布式系统中的一致性问题。
1)一个高效、可靠的协同分布式应用上的各种服务的系统,利用Zookeeper可以构建一个有效防止单点失效以及处理负载均衡的分布式应用系统。
2)Zookeeper是由一组Zookeeper服务器构成的系统。                    
尽自己所能,为大家笨拙的、粗毛培的梳理下Hadoop的组成部分。Hadoop并非是一个成品,而是一种功能性的组合,根据你的需要,选择具体的组成部分来架构和部署!



已有(3)人评论

跳转到指定楼层
ht_zhangxd 发表于 2014-1-1 21:49:13
very good,我看好你哟
回复

使用道具 举报

lzw 发表于 2014-1-1 23:02:59
string2020 发表于 2014-1-1 22:03
Cassandra:可扩展分布式数据库。貌似和Hbase差不多,

他们有什么不同?

Cassandra 是跟redis相同的,他们之间是可以互相替换的。hbase是存储大数据量的。目前国内公司360用的最多,redis新浪微薄用的最多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条