美文网首页程序员
hadoop基本认识

hadoop基本认识

作者: 老苏GO | 来源:发表于2019-12-09 17:47 被阅读0次

基本认识

一. 简介

Apache Hadoop是一款支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据谷歌公司发表的MapReduceGoogle文件系统的论文自行实现而成。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理。

Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。此外,Hadoop还提供了分布式文件系统(Hadoop Distributed File System), 简称HDFS,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduceHDFS的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据连接起来。现在普遍认为整个Apache Hadoop“平台”包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等.

hadoop框架核心设计即: MapReduceHDFS. HDFS为海量数据提供存储, MapReduce为海量的数据提供了计算.

二. 特点

  1. 高可靠性: Hadoop按位存储和处理数据的能力值得人们信赖.
  2. 高扩展性: Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中.
  3. 高效性: Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快.
  4. 高容错性: Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配.
  5. 低成本: 与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低.

三. hadoop大数据处理的意义.

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里.

四. 核心架构

hadoop1.0时期架构:

image

2.hadoop2.0时期架构

image

3.HDFS架构图

image

HDFS遵从主从(master/slave)架构. 一个HDFS包括一个NameNode和多个DataNode.

  • NameNode: 管理文件系统的命名空间; 处理客户端读写请求; 执行文件系统操作, 比如重命名/关闭/打开文件及目录等.
  • DataNode: 处理每个客户端的文件读写请求.
  • Secondary NameNode: 定期合并fsimageedits日志, 推送给NameNode; 当NameNode节点故障时, 切换为新的NameNode节点.避免单节点失败问题.

4.YARN架构图

image

5.hadoop1.0与2.0比较图

image

6.MapReduce执行流程图

image

7. Hive(基于MapReduce的数据仓库)

由Facebook开源,最初用于海量结构化日志数据统计;

ETL(Extraction-Transformation-Loading)工具构建在Hadoop之上的数据仓库;

数据计算使用 MapReduce,数据存储使用HDFS
Hive 定义了一种类 SQL 查询语言——HQL, 类似SQL,但不完全相同
通常用于进行离线数据处理(采用 MapReduce);

可认为是一个 HQL→MR 的语言翻译器

引用

Hadoop生态系统主要架构图汇总

Hadoop 系列(一)—— 分布式文件系统 HDFS

Hadoop分布式文件系统使用指南

HDFS Architecture

Hadoop

相关文章

网友评论

    本文标题:hadoop基本认识

    本文链接:https://www.haomeiwen.com/subject/lkligctx.html