Hadoop 概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Hadoop 概述

1.1 为什么会有大数据处理
传统模式已经满足不了大数据的增长
1)存储问题

    传统数据库:存储亿级别的数据,需要高性能的服务器,往往这样的服务器非常贵,几十万一台;并且解决不了本质问题。只能存结构化数据。
    大数据存储:通过分布式存储,将数据存到一台机器的同时,还可以备份到其他机器上,这样当某台机器挂掉了或磁盘坏掉了,在其他机器上可以拿到该数据,数据不会丢失(可备份)。 可横行扩展,磁盘不够可以挂磁盘,磁盘挂满了,添加机器挂磁盘。

2)分析数据问题

    传统数据库: 当数据库存储亿级别的数据后,查询效率也下降的很快,查询不能秒级返回。
    大数据分析:分布式计算。也是可以横行扩展。内存不够加内存,加机器加内存。
                        MapReduce:多次与磁盘进行交互,运行比较慢,如果对时间要求不高,可以考虑用。
                                                批处理(运算的数据是有范围的,运算完一次,就代表该批次处理完成)

                        实时计算:  对时间的要求很高,基本可以快速处理完成。
                                            实时计算的数据,没有范围的,会根据某个时间的范围进行计算。spark streaming  ,storm,  flink

image.png

1.2 什么是hadoop?
Hadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件。
Hadoop 是Apache的顶级项目。
Apache:APACHE软件基金会,支持Apache的开源软件社区项目,为公众提供好的软件产品。
项目主页:http://hadoop.apache.org

image.png

大数据的主要特点(4V)
第一, 数据容量大(Volume)。从TB级别,跃升到PB级别。
第二, 数据类型繁多(Variety)。相对于以往便于存储的以文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高要求。
第三, 商业价值高(Value)。客户群体细分,提供定制化服务;发掘新的需求同时提高投资的回报率;降低服务成本。
第四, 处理速度快(Velocity)。这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2020年,全球数据使用量将达到35.2ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。

hadoop的历史起源
创始人: Doug Cutting 和 Mike Cafarella
2002开始,两位创始人开发开源搜索引擎解决方案: Nutch
2004年受Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发,NDFS( Nutch Distributed File System )引入Nutch
2006年 在Yahoo!工作的Doug Cutting将这套大数据处理软件命名为Hadoop

image.png

hadoop核心组件
用于解决两个核心问题:存储和计算
核心组件
1)Hadoop Common:一组分布式文件系统和通用I/O的组件与接口(序列化、Java RPC和持久化数据结构)。

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

    分布式存储, 有备份, 可扩展

3)Hadoop MapReduce(分布式计算框架)

    分布式计算,多台机器同时计算一部分,得到部分结果,再将部分结果汇总,得到总体的结果
    可扩展

4)Hadoop YARN(分布式资源管理器)

    MapReduce任务计算的时候,运行在yarn上,yarn提供资源。

hadoop的框架演变
image.png

Hadoop1.0 的 MapReduce(MR1):集资源管理和任务调用、计算功能绑在一起,扩展性较差,不支持多计算框架。
Hadoop2.0 的Yarn(MRv2):将资源管理和任务调用两个功能分开,提高扩展性,并支持多计算框架 。

image.png

image.png

1)HDFS(Hadoop分布式文件系统)

    HDFS是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS 为HBase等工具提供了基础。

2)MapReduce(分布式计算框架)

    MapReduce是一种分布式计算模型,用以进行大数据量的计算,是一种离线计算框架。
    这个 MapReduce 的计算过程简而言之,就是将大数据集分解为成若干个小数据集,每个(或若干个)数据集分别由集群中的一个结点(一般就是一台主机)进行处理并生成中间结果,然后将每个结点的中间结果进行合并, 形成最终结果。

3)HBASE(分布式列存数据库)

    HBase是一个建立在HDFS之上,面向列的NoSQL数据库,用于快速读/写大量数据。HBase使用Zookeeper进行管理,确保所有组件都正常运行。

4)Sqoop(数据ETL/同步工具)

    Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之间传输数据。

5)flume(分布式日志收集系统)

    Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储器中。

6)Storm(流示计算、实时计算)

    Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。

7)Zookeeper(分布式协作服务)

    Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

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

8)Pig(ad-hoc脚本)

    Pig定义了一种数据流语言—Pig Latin,它是MapReduce编程的复杂性的抽象,Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。
    其编译器将Pig Latin 翻译成MapReduce 程序序列将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。

9)Hive(数据仓库)

    Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
    HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

10)Spark(内存计算模型)

    Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍。

11)Oozie(工作流调度器)

    Oozi可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。

12)Mahout(数据挖掘算法库)

    Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。

13)Hadoop YARN(分布式资源管理器)

    YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
其核心思想:

将MR1中JobTracker的资源管理和作业调用两个功能分开,分别由ResourceManager和ApplicationMaster进程来实现。
1)ResourceManager:负责整个集群的资源管理和调度
2)ApplicationMaster:负责应用程序相关事务,比如任务调度、任务监控和容错等

14)Tez(DAG计算模型)

    一个运行在YARN之上支持DAG(有向无环图)作业的计算框架。
    Tez的目的就是帮助Hadoop处理这些MapReduce处理不了的用例场景,如机器学习。

什么是集群,集群和服务的关系。
image.png

目录
相关文章
|
4月前
|
存储 SQL 分布式计算
Hadoop概述
Hadoop概述
|
分布式计算 资源调度 Hadoop
大数据Hadoop概述
大数据Hadoop概述
178 0
|
4月前
|
存储 固态存储 文件存储
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x]HDFS存储类型和存储策略(五)概述
105 1
|
4月前
|
存储 分布式计算 Hadoop
【Hadoop】Hadoop 概述
【4月更文挑战第8天】【Hadoop】Hadoop 概述
|
26天前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
4月前
|
分布式计算 资源调度 监控
【Hadoop Yarn】Hadoop Yarn 概述
【4月更文挑战第7天】【Hadoop Yarn】Hadoop Yarn 概述
|
存储 SQL 分布式计算
Hadoop基础学习---2、Hadoop概述
Hadoop基础学习---2、Hadoop概述
|
4月前
|
存储 分布式计算 资源调度
[hadoop3.x]HDFS中的内存存储支持(七)概述
[hadoop3.x]HDFS中的内存存储支持(七)概述
76 0
|
4月前
|
存储 分布式计算 Hadoop
[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述
[hadoop3.x]HDFS存储策略和冷热温三阶段数据存储(六)概述
106 0
|
分布式计算 资源调度 Hadoop
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化

相关实验场景

更多