`
美丽的小岛
  • 浏览: 309414 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Hadoop生态系统介绍

 
阅读更多

1、Hadoop生态系统概况

Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。
Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。
下图为hadoop的生态系统:

 

2、HDFS(Hadoop分布式文件系统)

源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版。
是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

 
Client切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据
NameNode:Master节点,在hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。
DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNode。
Secondary NameNode:辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但Secondary NameNode并非NameNode的热备。
 

3、Mapreduce(分布式计算框架)

源自于google的MapReduce论文,发表于2004年12月,Hadoop MapReduce是google MapReduce 克隆版。
源自于google的MapReduce论文
MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

 
JobTracker:Master节点,只有一个,管理所有作业,作业/任务的监控、错误处理等;将任务分解成一系列任务,并分派给TaskTracker。
TaskTracker:Slave节点,运行Map Task和Reduce Task;并与JobTracker交互,汇报任务状态。
Map Task:解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。
Reducer Task:从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行。
 
Mapreduce处理流程,以wordCount为例:

 
4、Hive(基于Hadoop的数据仓库)
由facebook开源,最初用于解决海量结构化的日志数据统计问题。
Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行
通常用于离线分析。

 

5、Hbase(分布式列存数据库)

源自Google的Bigtable论文,发表于2006年11月,HBase是Google Bigtable克隆版
HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。
数据模型:Schema-->Table-->Column Family-->Column-->RowKey-->TimeStamp-->Value
6、Zookeeper(分布式协作服务)
源自Google的Chubby论文,发表于2006年11月,Zookeeper是Chubby克隆版
解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等
 

7、Sqoop(数据同步工具)

Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据
数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
 

8、Pig(基于Hadoop的数据流系统)

由yahoo!开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具
定义了一种数据流语言—Pig Latin,将脚本转换为MapReduce任务在Hadoop上执行。
通常用于进行离线分析。
 

9、Mahout(数据挖掘算法库)

Mahout起源于2008年,最初是Apache Lucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目。
Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。
 

10、Flume(日志收集工具)

Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。
  • 大小: 51.5 KB
  • 大小: 82.5 KB
  • 大小: 44.9 KB
  • 大小: 36.9 KB
  • 大小: 140.1 KB
  • 大小: 237.1 KB
分享到:
评论

相关推荐

    hadoop生态系统介绍

    详细介绍了hadoop生态圈,包括 基础介绍 HDFS, HDFS 2 MapReduce, YARN 以下简要介绍 Pig Hive Hbase, HOYA Mahout 其它

    Hadoop概述,Hadoop1.x系统框架介绍,大数据处理方案,hadoop 2Hadoop生态系统介绍

    背景介绍 1 Hadoop基本概念 2.1 Hadoop1.x系统框架介绍 2.2 目 录 大数据处理方案-hadoop 2 总 结 3 Hadoop生态系统介绍 2.4 Hadoop2.x系统框架介绍

    海量数据处理-Hadoop生态系统和成功案例

    #### Hadoop生态系统关键组件介绍 1. **HDFS(Hadoop Distributed File System)**:是Hadoop的基础组件之一,用于存储海量数据。HDFS具有高容错性,能够在廉价的硬件上运行,并且能够提供高吞吐量的数据访问能力,...

    hadoop生态系统搭建

    标题《hadoop生态系统搭建》所涉及的知识点主要包括Hadoop集群的搭建、基于Hive的离线分析平台配置、基于Storm的实时数据分析架构搭建,以及SolrCloud和HBase在搜索架构中的应用和整合。 首先,Hadoop生态系统的...

    HADOOP生态系统.docx

    Hadoop生态系统是大数据处理的核心组成部分,它包含了多个组件,如HDFS(Hadoop Distributed File System)、Spark、Hive、Elasticsearch和Kafka,这些工具共同构建了一个高效、可扩展的数据处理平台。 HDFS是...

    《Hadoop生态系统》.pdf

    《Hadoop生态系统》

    Hadoop生态系统及其版本演化.doc

    【Hadoop生态系统及其版本演化】 Hadoop是一个开源的分布式计算框架,主要用于处理和存储大规模数据。它的出现源于互联网行业的快速发展,尤其是搜索引擎和电子商务等领域的数据处理需求。Hadoop以其高效、可扩展和...

    大数据与Hadoop生态系统

    简单介绍hadoop生态系统、spark、scala

    《Hadoop生态系统》_陈新.pdf

    Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。 Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。

    Hadoop生态系统学习

    ### Hadoop生态系统学习 #### Hadoop概述 Hadoop是由Apache基金会开发的一款开源分布式计算框架,旨在简化大规模数据的处理过程。作为一个分布式系统的基础架构,Hadoop不仅能够支持海量数据的存储,还能高效地进行...

    Apache Hadoop和Hadoop生态系统.pdf

    Hadoop生态系统的不断发展和扩展,引入了许多其他项目,如YARN(用于资源管理和调度)、Tez(优化MapReduce执行效率)、Spark(提供内存计算,加速处理速度)等,进一步完善了大数据处理的基础设施。这些项目相互...

    Hadoop生态系统基本介绍(60张幻灯片,包含大量图).pptx

    ### Hadoop生态系统基本介绍 #### 一、Hadoop发展历程及各组件概述 ##### 1.1 课程简介 - **课程目标**:本课程旨在帮助学员理解Hadoop的发展历程及其在大数据处理领域的地位,并深入探讨Hadoop生态系统的各个...

    Hadoop生态圈介绍及入门

    ### Hadoop生态圈介绍及入门 #### 一、大数据的挑战 在当今数字化时代,随着互联网技术的迅猛发展以及计算能力的显著提升,企业面临着前所未有的数据挑战。这些挑战包括但不限于如何存储、处理和分析海量数据。...

    第1周 Hadoop生态系统以及版本演化

    ### 第1周 Hadoop生态系统及版本演化 #### 日志系统 **日志系统**是互联网企业不可或缺的一部分,它主要用于收集用户的交互数据,并基于这些数据进行分析以提升用户体验、优化产品功能或提供更精准的个性化服务。...

    Hadoop生态系统:探索除HDFS和MapReduce之外的有用工具

    本文将详细介绍Hadoop生态系统中的一些有用工具及其应用。 Hadoop生态系统中的工具远不止HDFS和MapReduce,还包括了Hive、Pig、HBase、Spark、Storm、Kafka、Flume、Oozie、Zookeeper、Mahout、Flink、Cassandra、...

    基于Hadoop生态系统的大数据解决方案综述

    然后从商业产品和Hadoop生态系统两个方面来探讨如何面对大数据,重点分析了Hadoop生态系统是如何解决的:分别用HDFS、HBase和OpenTSDB解决存储问题,用Hadoop MapReduce(Hive)和HadoopDB解决分析问题,用Sqoop和Ganglia...

    Hadoop生态系统图1

    Hadoop生态系统图1

    卢亿雷-Hadoop生态系统分析

    Hadoop生态系统是由Apache软件基金会开发的一个开源框架,用于存储和处理大数据。该生态系统是由多个组件构成的,每个组件都有其独特的功能和用途,共同为大数据的存储、处理、分析提供了一个全面的解决方案。以下是...

Global site tag (gtag.js) - Google Analytics