在大数据的发展过程中,出现了一批专门应用与大数据的处理分析工具,如Hadoop,Hbase,Hive,Spark等,我们先从最基础的Hadoop开始进行介绍

Hadoop是apache基金会下所开发的分布式基础架构,实现了一个分布式文件系统(HDFS),HDFS拥有高容错性、高可靠性、高扩展性、高效性、低成本的特性,可以让用户在不了解相关的底层源码的情况下,在廉价的机器上搭配一台完整的服务器进行分布式程序开发,利用集群的高速运算和存储处理自己的业务。

一个应用程序无非就是计算和存储两个部分,Hadoop也不例外,他的两大核心设计就是HDFS和MapReduce两个组建,HDFS实现了Hadoop的海量数据的存储,而MapReduce则为存储的海量数据提供了计算

核心架构:

在Hadoop官方网站上对于Hadoop项目的构成有详细的讲解,主要包括

Hadoop Common:支持其他Hadoop模块的常用实用程序。

Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。

Hadoop YARN:作业调度和集群资源管理的框架。

Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。

Apache的其他Hadoop相关项目包括:

Ambari™:基于Web的工具,用于配置,管理和监控Apache Hadoop集群,包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看群集运行状况的仪表板,例如热图,以及可视化查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。

Avro™:数据序列化系统。

Cassandra™:可扩展的多主数据库,没有单点故障。

Chukwa™:用于管理大型分布式系统的数据收集系统。

HBase™:可扩展的分布式数据库,支持大型表的结构化数据存储。

Hive™:一种数据仓库基础架构,提供数据汇总和即席查询。

Mahout™:可扩展的机器学习和数据挖掘库。

Pig™:用于并行计算的高级数据流语言和执行框架。

Spark™:用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。

Tez™:基于Hadoop YARN构建的通用数据流编程框架,它提供了一个功能强大且灵活的引擎,可以执行任意DAG任务来处理批量和交互式用例的数据。Tez正在被Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件(例如ETL工具)采用,以取代Hadoop™MapReduce作为底层执行引擎。

ZooKeeper™:用于分布式应用程序的高性能协调服务

在知道了Hadoop集群的项目构成之后我们便开始挨个项目进行说明

Hadoop-----HDFS

[if !supportLists]1、[endif]因为HDFS实例是一个分布式的处理机制,所以可能包括成千上万台服务器计算机,每一个计算机存储文件的一部分,但是,因为各种各样的原因,每一个计算机都有可能在使用过程中出现各种问题,比如断电等,所有这就意味着在这么多的服务器中总有几个是处在无法使用的状态,因此检测故障并能快速的回复保证计算的正常进行是HDFS的核心架构目标

[if !supportLists]2、[endif]HDFS的设计主要是用于批处理而不是通常的用户的交互式的通用应用程序,数据访问的高吞吐量是重点,所以posix放松了对于HDFS的监管,可以通过流式处理的方式对于文件系统中的数据进行相应的处理。

[if !supportLists]3、[endif]因为要处理的数据量特别巨大,单一的服务器根本不可能完成这一任务,所有,HDFS被调整为支持大文件,将一个大的文件分解成多个一样大小的小文件然后分散到各个集群的节点上进行计算

[if !supportLists]4、[endif]为了简化数据的一致性问题以及实现高吞吐量的数据访问,HDFS提供了一个一次写入多次读取的文件访问模型,当文件写入HDFS之后,可以被多次读取进行计算,但是,在一次写入之后除了追加和截断之外,不能再次写入,但是可以通过append方法在文件的末尾进行追加,典型的就是MapReduce应用程序

[if !supportLists]5、[endif]在应用程序请求计算的时候,如果将数据向计算移动的话,因为数据量太大会造成大量的网络延迟以及时间的浪费,并且会消耗大量的资源,但是,如果计算向数据移动,因为计算的应用程序占用的内存很小,在进行传输的过程中不会消耗太多的资源而且传输速度很快,不会产生网络拥塞并提高了系统的整体吞吐量

[if !supportLists]6、[endif]HDFS的设计便于在软件和硬件两个平台进行移植

基于以上6点,也会发现HDFS不适合应用在要求低延迟的数据访问、存储大量的小文件、多用户写入、任意修改文件的场景,因为这几个场景不仅仅不会体现其在数据处理方面的超强的能力,相反还会成为一个拖累,处理能力还不如普通的处理方式

HDFS具有主从架构,集群由一个NameNode和多个DataNodes构成,以及辅助节点Secondary Namenode

NameNode对集群中的文件系统命名空间的主服务器和客户端对于文件的访问组成。存储DataNode中块的管理信息(块管理

通过处理注册和定期心跳来提供Datanode集群成员资格。

进程阻止报告并维护块的位置。

支持块相关操作,如创建,删除,修改和获取块位置。

管理副本放置,阻止复制下的块的复制,并删除过度复制的块。

DataNodes管理节点的存储,每一个DataNode的上有多个block块构成,传入系统的大文件就被存储在着一个个的block块(默认大小为64MB)中并定期的向NameNode发送block块的列表信息(

1、可以存储大于磁盘容量的文件,将块存储在不同的磁盘上,提高了集群磁盘的利用率。

2、将传入的文件转化成块存储,可以实现元数据和块的分离,用一个单独的节点存储块的地址信息等,便于管理。

数据块适合用于数据备份进而提供数据容错能力和提高可用性

Secondary Namenode:辅助NameNode进行fsimage和edit.log的合并,减轻namenode的压力

本文章主要翻译于官方网站,如有雷同,纯属巧合

转载于:https://www.cnblogs.com/dsjxb/p/9435625.html

Hadoop核心架构(1)相关推荐

  1. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    编者按:HDFS和MapReduce是Hadoop的两大核心,除此之外Hbase.Hive这两个核心工具也随着Hadoop发展变得越来越重要.本文作者张震的博文<Thinking in BigD ...

  2. Thinking in BigData(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

          纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解. 通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS.MapReduce.Hbase.H ...

  3. 详解Hadoop核心架构HDFS+MapReduce+Hbase+Hive

    通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS.MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心. 通 ...

  4. Hadoop核心之MapReduce架构设计

    Hadoop主要由两大部分组成,一个是分布式文件系统即HDFS,另一个是分布式计算框架MapReduce. 关于HDFS详细介绍请参考:[Hadoop核心之HDFS 架构设计] 本篇重点介绍分布式计算 ...

  5. 大数据时代|核心架构Hadoop入门学习之HDFS,循序渐进求真知

    前言 当今世界,科学技术飞速发展,人们不知不觉的进入了大数据时代.而什么是大数据时代,大数据的发展是什么?这一系列的问题其实很抽象,很难一言半语的概括.但是,在这大数据时代,必须掌握相应的技术作为支撑 ...

  6. Spark精华问答 | Spark和Hadoop的架构区别解读

    总的来说,Spark采用更先进的架构,使得灵活性.易用性.性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高.我总结,具体表现在如下几个方面. 1 Q:Spark和 ...

  7. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之2.HDFS分布式文件系统

    文章目录 前言 1.HDFS特点 2.命令行和API操作HDFS (1)Shell命令行客户端 (2)API客户端连接HDFS的两种方式 (3)API客户端上传下载文件 (4)API客户端文件详情及文 ...

  8. R语言和Hadoop系统架构在大数据分析中的应用

    也许正在喝着咖啡的你,看着阳光从玻璃窗蹦进来,回忆近日的美好,惬意的享受这个"温暖"的暑假.而SupStat已经为你准备了一份暑期数据盛宴. R是什么?               ...

  9. Hadoop的架构模型

    文章目录 Hadoop 1.Hadoop的介绍 2.Hadoop的历史版本和发行版公司 2.1 Hadoop历史版本 2.2 Hadoop三大发行版公司 3.hadoop的架构模型 1.x的版本架构模 ...

最新文章

  1. 烂泥:Thinkpad E40伤不起啊……
  2. StoryBoard学习..(很详细.)
  3. Imation亏损额急剧增长 CEO仍表示“成功”
  4. 2021葫芦岛市第六高级中学高考成绩查询,葫芦岛高考成绩查询
  5. 安装漂亮的Faenza1.3与Faience0.5图标主题
  6. loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
  7. JCP执行委员会新成员选举结果揭晓:Hologic未获通过
  8. mysql范式与反范式_MySQL 三种范式以及反范式 | 剑花烟雨江南
  9. xp/win 7 系统搭建 Java环境
  10. js动态产生对象push进数组,发现数组所有元素(element or object)一样
  11. C# 通过反射获取枚举类型
  12. SPFA和FLOYD算法如何打印路径
  13. linux内网安装git,Linux 安装git
  14. 超标量处理器设计 姚永斌 第1章 超标量处理器概览 摘录
  15. Cadence Orcad capture导出像Visio规格的图纸图文教程及视频演示
  16. android停止补间动画,android 帧动画,补间动画,属性动画的简单总结
  17. 5gh掌上云计算认证不通过_华为云计算认证含金量高么?
  18. 心得-计算机软考之嵌入式系统工程师
  19. batchnorm原理及代码详解
  20. npm 启动项目报错 Cannot find module ‘\@babel\compat-data\data\corejs3-shipped-proposals‘

热门文章

  1. c语言中读和写的作用,C语言中对文件最基本的读取和写入函数
  2. mysql syncrelaylog_MySQL 5.7复制延迟之sync_relay_log
  3. Java会话加密_shiro的认证、授权、会话、加密
  4. HDU1285确定比赛名次(拓扑排序+优先队列)
  5. AcWing 885. 求组合数 I(递推式预处理)
  6. AcWing 828. 模拟栈
  7. 蓝桥集训之BFS、DFS和链式前向星
  8. 吸猫就吸Tomcat之Pipeline-Valve巧妙设计
  9. tortoise svn 请求的名称有效,但是找不到请求的类型的数据
  10. babel-preset-env