Hadoop入门及常用组件介绍

本文介绍了Hadoop及其生态系统,包括HDFS、MapReduce、Spark、Storm、Flink等分布式计算框架,以及Hive、Hbase、Zookeeper等组件。重点讨论了HDFS的高可用性和MapReduce的执行流程,展示了Hadoop如何处理大数据存储和计算。
摘要由CSDN通过智能技术生成

大数据体系架构

hadoop介绍

Hadoop是一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序、搭建大型数据仓库、PB级数据的存储、处理,、分析,、统计等,充分利用集群的威力高速运算和存储。

Hadoop可以分为狭义广义两种:

  • 狭义的Hadoop只是Hadoop本身,即HDFS+MapReduce。
  • 广义的Hadoop指的是Hadoop生态系统,是一个很庞大的概念,hadoop是其中最重要最基础的一个部分。Hadoop生态的每一个子系统只解决某一个特定的问题域,是多个小而精的小系统。

Hadoop生态系统主要组件

Hadoop的生态系统是非常庞大的,下面介绍生态系统中一些主要部件:

HDFS (分布式文件系统)

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

MapReduce(分布式计算框架)

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

Spark(基于内存的分布式计算框架)

Spark是一种类似MapReduce的基于内存的分布式计算框架

Storm(实时的分布式计算框架)

Storm是Twitter开源的分布式实时大数据计算框架,类似于Spark的流式处理模块Spark Streaming和Structured Streaming

Flink(流式计算框架)

Flink是一款综合Spark、Storm优点的实时的分布式计算框架,用于对无界和有界数据流进行状态计算

Hive(基于Hadoop的数据仓库)

Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行,可以交互式查询。通常用于离线分析。

Hbase(分布式列存数据库)

HBase查询非常快,底层还是存储在HDFS上,是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

Zookeeper(分布式协作服务)

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

Sqoop(数据同步工具)

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

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

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

Mahout(数据挖掘算法库)

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

Flume(日志收集工具)

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

Oozie(作业流调度引擎)

Oozie是一个基于工作流引擎的服务器,可以在上面运行Hadoop的Map Reduce和Pig任务。它其实就是一个运行在Java Servlet容器(比如Tomcat)中的Javas Web应用。

Hadoop生态四大核心组件

Hadoop HDFS、Hadoop MapReduce、Hadoop YARN、Hadoop Common

HDFS

HDFS(Hadoop Distributed File

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值