3.2 Hadoop简介
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简介相关推荐
- hadoop使用mapreduce统计词频_深圳嘉华学校之Hadoop简介(什么是Map-Reduce-Mapreduce-about云开发)...
Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰 ...
- Hadoop简介(1):什么是Map/Reduce
看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...
- Hadoop简介与分布式安装
Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...
- 什么是Hadoop?大数据与Hadoop简介
要了解什么是Hadoop,我们必须首先了解与大数据和传统处理系统有关的问题.前进,我们将讨论什么是Hadoop,以及Hadoop如何解决与大数据相关的问题.我们还将研究CERN案例研究,以突出使用Ha ...
- Hadoop简介和家族成员介绍
本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/Hadoop简介和家族成员介绍/ 1. HDFS:分布式文件系统实现, ...
- hadoop基础一:Hadoop简介、安装
你的点赞与评论是我最大的创作动力! hadoop简介: hadoop平台是一个可靠的.可扩展的.可分布式计算的开源软件. Apache Hadoop平台是一个框架,允许使用简单的编程模型.该平台被设计 ...
- Hadoop简介和体系架构
目录 2.1 Hadoop简介 2.1.1 Hadoop由来 2.1.2 Hadoop发展历程 2.1.3 Hadoop生态系统 2.2 Hadoop的体系架构 2.2.1 分布式文件系统HDFS 2 ...
- Hadoop简介和集群搭建
文章目录 Hadoop简介和集群搭建 Hadoop介绍 Hadoop的发行版本和三大公司 hadoop的架构 安装Hadoop 第一步:上传编译后的apache hadoop包并解压 第二步:修改配置 ...
- Hadoop详解(一):Hadoop简介
1. Hadoop 起源 1.1 Hadoop的身世 首先我们介绍一下Nutch的发展情况,Nutch是一个以Lucene为基础实现的搜索引擎系统,Lucene为Nutch提供了文本检索和索引的API ...
- 2018-3-7 Hadoop简介1(名字的由来,以及基本的结构)
问题一:什么是云计算? 实际上是提供的一种服务,这个服务的特点是? 主要是按需分配 云计算_百度百科 https://baike.baidu.com/item/%E4 ...
最新文章
- 如何利用pyecharts绘制炫酷的关系网络图?
- 选什么地方,进多少商品,想开超市,这些必须了解
- c语言让电脑发出滴滴声代码,centos命令行控制电脑发出滴滴声——使用beep把警告变为music...
- 初学 Unsupervised feature learning and deep learning--Sparse autoencoder
- Python 并行分布式框架 Celery
- 世界杯29场点球大战的269个点球数据都在这里!霍金的公式帮了英格兰吗?
- ORACLE 语句关联统计
- 北师范《计算机导论》在线作业,福建师范大学17年8月《计算机导论》作业考核试题答案材料...
- 自动驾驶算法-滤波器系列(四)——不同运动模型在KF/EKF中的应用
- CSS基础五(盒模型)
- 数据结构(python) —— 【34: 动态规划之钢条切割问题】
- 王者荣耀使用什么编程语言开发的?
- STL容器底层数据结构
- 会议室管理系统jsp和mysql_基于jsp+mysql+servlet的JSP会议-会议室管理系统
- oracle 导出数据库和导入数据库
- 亚马逊Amazon多账号操作攻略
- 面向对象(4)封装与继承
- 【操作系统】--面包师问题
- Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂
- 启动u盘的制作与系统重装