Hadoop入门及常用组件介绍

您所在的位置:网站首页 数据仓库的核心组件 Hadoop入门及常用组件介绍

Hadoop入门及常用组件介绍

2024-06-21 16:10| 来源: 网络整理| 查看: 265

文章目录 大数据体系架构 hadoop介绍 Hadoop生态系统主要组件 HDFS (分布式文件系统) MapReduce(分布式计算框架) Spark(基于内存的分布式计算框架) Storm(实时的分布式计算框架) Flink(流式计算框架) Hive(基于Hadoop的数据仓库) Hbase(分布式列存数据库) Zookeeper(分布式协作服务) Sqoop(数据同步工具) Pig(基于Hadoop的数据流系统) Mahout(数据挖掘算法库) Flume(日志收集工具) Oozie(作业流调度引擎) Hadoop生态四大核心组件 HDFS HDFS 1.0 NameNode SecondaryNameNode DataNode HDFS 2.0 HA模式 Federation模式 MapReduce MapReduce执行的五个阶段 MapReduce执行流程 WordCount执行细节 MapReduce的作业调度(Hadoop 1.0) JobTracker TaskTracker JobTracker和TaskTracker执行流程 YARN ResourceManager ApplicationMaster Scheduler(调度器) NodeManager Container YARN的执行流程 Common

大数据体系架构

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3