Hadoop是较早用来处理大数据集合的分布式存储计算基础架构,最早由Apache软件基金会开发。
Hadoop软件库是一个计算框架,在这个框架下,可以使用一种简单的编程模式,通过多台计算机构成的集群,分布式处理大数据集。
Hadoop被设计成可扩展的,它可以方便地从单一服务器扩展到数千台机器,每台机器进行本地计算和存储。

3.2.1 Hadoop的构成
Hadoop包括以下四个基本模块:
● Hadoop基础功能库:支持其他Hadoop模块的通用程序包。
● HDFS:一个分布式文件系统,能够以高吞吐量访问应用的数据。
● YARN:一个作业调度和资源管理框架。
● MapReduce:一个基于YARN的大数据并行处理程序。

除了基本模块,Hadoop相关的其他项目还包括:
● Ambari:一个基于Web的工具,用于配置、管理和监控Hadoop集群。支持HDFS、MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari还提供显示集群健康状况的仪表盘,如热点图等。
Ambari以图形化的方式查看MapReduce、Pig和Hive应用程序的运行情况,因此可以通过对用户友好的方式诊断应用的性能问题。
● Avro:一个数据序列化系统。
● Cassandra:一个可扩展的无单点故障的NoSQL多主数据库。
● Chukwa:一个用于大型分布式系统的数据采集系统。
● HBase:一个可扩展的分布式数据库,支持大表的结构化数据存储。
● Hive:一个数据仓库基础架构,提供数据汇总和命令行的即席查询功能。
● Mahout:一个可扩展的机器学习和数据挖掘库。
● Pig:一个用于并行计算的高级数据流语言和执行框架。
● Spark:一个处理Hadoop数据的、高速的、通用的计算引擎。Spark提供了一种简单而富于表达能力的编程模式,支持包括ETL、机器学习、数据流处理、图像计算等多种应用。
● Tez:一个完整的数据流编程框架,在YARN之上建立,提供强大而灵活的引擎,执行任意的有向无环图(DAG)数据处理任务,既支持批处理又支持交互式的用户场景。Tez已经被Hive、Pig等Hadoop生态圈的组件所采用,用来替代MapReduce作为底层执行引擎。
● ZooKeeper:一个用于分布式应用的高性能协调服务。

3.2.2 Hadoop的主要特点
● 扩容能力:能可靠地存储和处理PB级的数据。
● 成本低:可以利用廉价通用的机器组成的服务器群分发、处理数据。这些服务器群总计可达数千个节点。
● 高效率:通过分发数据,Hadoop可以在数据所在的节点上并行地处理它们,这使得处理非常快速。
● 可靠性:Hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署计算任务。

3.2.3 Hadoop架构
Hadoop集群架构如图:

Hadoop由通用包、MapReduce(MapReduce/MR1或YARN/MR2)、HDFS所构成。通用包提供文件系统和操作系统级别的抽象,包含有必需的JavaArchive(JAR)和启动Hadoop集群所需的相关脚本。
为了有效调度任务,每一个与Hadoop兼容的文件系统都应该具有位置感知的功能,简单说位置感知就是知道工作节点所处的机架(准确地说是网络交换机),因此也叫机架感知。
HDFS使用机架感知在多个交换机的节点间复制数据,用于数据冗余。这种方法降低了机架掉电或交换机故障产生的影响,如果一个硬件出现问题,数据仍然是可用的。

一个小规模的Hadoop集群包含一个主节点和多个从节点(工作节点)。
主节点上的进程有Job Tracker(对应MR2的Resource Manager)、NameNode,依据配置可能还会有Task Tracker(对应MR2的Node Manager)和DataNode。
从节点或工作节点上的进程有DataNode和TaskTracker,尽管该节点可能只是一个数据工作节点,或者只是一个计算工作节点。
这种架构一般只用于非标准的小型应用。

一个大型Hadoop集群中,HDFS节点通过专用的NameNode服务器进行管理,NameNode服务器上保存有文件系统的索引。
SecondaryNameNode可以产生NameNode内存结构的快照,因此可以防止NameNode文件系统损坏造成的数据丢失。类似地,也有一个独立的JobTracker服务器管理节点间的作业调度。
当HadoopMapReduce运行在其他文件系统上时,HDFS的NameNode、SecondaryNameNode和DataNode会被与特定文件系统相关的等价结构所代替。

Hadoop需要JRE 1.6及其以上版本。标准的集群启动和关闭脚本需要在集群节点间配置ssh。

3.2 Hadoop简介相关推荐

  1. hadoop使用mapreduce统计词频_深圳嘉华学校之Hadoop简介(什么是Map-Reduce-Mapreduce-about云开发)...

    Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰 ...

  2. Hadoop简介(1):什么是Map/Reduce

    看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...

  3. Hadoop简介与分布式安装

    Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...

  4. 什么是Hadoop?大数据与Hadoop简介

    要了解什么是Hadoop,我们必须首先了解与大数据和传统处理系统有关的问题.前进,我们将讨论什么是Hadoop,以及Hadoop如何解决与大数据相关的问题.我们还将研究CERN案例研究,以突出使用Ha ...

  5. Hadoop简介和家族成员介绍

    本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/Hadoop简介和家族成员介绍/ 1. HDFS:分布式文件系统实现, ...

  6. hadoop基础一:Hadoop简介、安装

    你的点赞与评论是我最大的创作动力! hadoop简介: hadoop平台是一个可靠的.可扩展的.可分布式计算的开源软件. Apache Hadoop平台是一个框架,允许使用简单的编程模型.该平台被设计 ...

  7. Hadoop简介和体系架构

    目录 2.1 Hadoop简介 2.1.1 Hadoop由来 2.1.2 Hadoop发展历程 2.1.3 Hadoop生态系统 2.2 Hadoop的体系架构 2.2.1 分布式文件系统HDFS 2 ...

  8. Hadoop简介和集群搭建

    文章目录 Hadoop简介和集群搭建 Hadoop介绍 Hadoop的发行版本和三大公司 hadoop的架构 安装Hadoop 第一步:上传编译后的apache hadoop包并解压 第二步:修改配置 ...

  9. Hadoop详解(一):Hadoop简介

    1. Hadoop 起源 1.1 Hadoop的身世 首先我们介绍一下Nutch的发展情况,Nutch是一个以Lucene为基础实现的搜索引擎系统,Lucene为Nutch提供了文本检索和索引的API ...

  10. 2018-3-7 Hadoop简介1(名字的由来,以及基本的结构)

    问题一:什么是云计算? 实际上是提供的一种服务,这个服务的特点是?                  主要是按需分配 云计算_百度百科 https://baike.baidu.com/item/%E4 ...

最新文章

  1. 如何利用pyecharts绘制炫酷的关系网络图?
  2. 选什么地方,进多少商品,想开超市,这些必须了解
  3. c语言让电脑发出滴滴声代码,centos命令行控制电脑发出滴滴声——使用beep把警告变为music...
  4. 初学 Unsupervised feature learning and deep learning--Sparse autoencoder
  5. Python 并行分布式框架 Celery
  6. 世界杯29场点球大战的269个点球数据都在这里!霍金的公式帮了英格兰吗?
  7. ORACLE 语句关联统计
  8. 北师范《计算机导论》在线作业,福建师范大学17年8月《计算机导论》作业考核试题答案材料...
  9. 自动驾驶算法-滤波器系列(四)——不同运动模型在KF/EKF中的应用
  10. CSS基础五(盒模型)
  11. 数据结构(python) —— 【34: 动态规划之钢条切割问题】
  12. 王者荣耀使用什么编程语言开发的?
  13. STL容器底层数据结构
  14. 会议室管理系统jsp和mysql_基于jsp+mysql+servlet的JSP会议-会议室管理系统
  15. oracle 导出数据库和导入数据库
  16. 亚马逊Amazon多账号操作攻略
  17. 面向对象(4)封装与继承
  18. 【操作系统】--面包师问题
  19. Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂
  20. 启动u盘的制作与系统重装

热门文章

  1. 前端面试JS必备基础之深浅拷贝和this指向问题@莫成尘
  2. 高等数学上:函数的极限(重难点)
  3. 自定义View将圆角矩形绘制在Canvas上
  4. 王者荣耀最低战力查询-王者战区修改
  5. ddrk(ddrk)
  6. 最小生成树-普利姆和克鲁斯卡尔算法
  7. 英语广播原声听力100篇MP3及听力原文
  8. linux命令下jq的用法(curl 格式化输出json 字符串)
  9. angular ng lint 相关
  10. android涂鸦程序(在图像上绘制)