文章目录

  • 大数据的简介
  • Hadoop框架
  • Hadoop的优缺点
  • Hadoop1.x和2.x的版本区别
  • Hadoop架构
  • Hadoop目录结构
  • 正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?

大数据的简介

  1. 大数据是指无法再一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,同时大数据也是需要新的处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量以及多样化的信息资产。
  2. 大数据的特点:大量,高速,多样,真实以及低价值。
    1. 大量:指的是采集,存储和计算的数据量都非常大。
    2. 高速:指的是在大数据时代,数据的创建,存储,分析都被要求高速处理,比如电商网站的个性化推荐尽可能要求实时完成推荐,这也是大数据区别于传统数据挖掘的显著特征。
    3. 多样:数据的形式和来源多样化,包括结构化,半结构化和非结构化数据,具体表现为网络日志,音频,视频,图片,地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
    4. 真实:确保数据的真实性,才能保证数据分析的正确性。
    5. 低价值:数据价值密度相对较低,互联网催生了海量数据,但是价值密度较低,如何结合业务罗杰并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。

Hadoop框架

Hadoop是什么?

  1. Hadoop是一个由Apache基金会开发的一套分布式存储和计算平台。
  2. Hadoop主要解决海量数据的存储以及分析计算问题。
  3. 狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态圈,包括很多其他的软件框架。

hadoop 生态系统

  1. hadoop生态系统,不仅包含hadoop,还包括保证hadoop框架正常高效运行其他框架,比如zookeeper、Flume、Hbase、Hive、Sqoop等辅助框架。
  2. Hadoop(HDFS + MapReduce + Yarn)。
  3. Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护,命名服务
  4. Hive 基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。
  5. Hbase:是一个海量列式非关系型数据库, 利用Hadoop HDFS作为其存储系统。
  6. Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输数据采集工具。
  7. Sqoop 将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
  8. Kafka 高吞吐消息中间件等。

Hadoop的特点

  1. 扩容能力(Scalable):Hadoop是再计算机集群内分配数据并完成计算任务, 群可以方便的扩展到数以千计个节点。
  2. 低成本(Economical):Hapoop通过普通廉价的机器组成服务器集群来分发以及处理数据,成本很低。
  3. 高效率(Efficient):Hapood可以在节点之间动态并行的移动数据,速度很快。
  4. 可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动的重新部署(redeploy)计算任务。

Hadoop的发行版本

  1. Hadoop发行版本非常多,有Cloudera发行版(CDH)、Hortonworks发行版、华为发行版、Intel发行版等,所有这些发行版均是基于Apache Hadoop衍生出来的。
  2. 目前Hadoop常用的三个版本分别是:
    1. Apache Hadoop版本(最原始的,所有发行版均基于这个版本进行改进)
    2. Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)
    3. Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。

Hadoop的各个发行版本的特点

  1. Apache Hadoop 原始版本(官网地址:http://hadoop.apache.org/)

    1. 拥有全世界的开源贡献,代码更新版本比较快,需要注意版本的升级,版本的维护,以及版本之间的兼容性。
  2. 软件收费版本ClouderaManager CDH版本 --生产环境使用(官网地址:https://www.cloudera.com/)。
    1. Cloudera是是美国一家大数据公司在Apache开源Hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题。
  3. 免费开源版本HortonWorks HDP版本–生产环境使用(官网地址:https://hortonworks.com/)。
    1. hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),
    2. HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态.
    3. web管理界面软件HDF网址(http://ambari.apache.org/)

Apache Hadoop版本更迭

  1. 0.x 系列版本:Hadoop当中最早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本
  2. 1.x 版本系列:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等
  3. 2.x 版本系列:架构产生重大变化,引入了yarn平台等许多新特性
  4. 3.x 版本系列:EC技术、YARN的时间轴服务等新特性

Hadoop的优缺点

Hadoop的优点

  1. 高可靠性:Hadoop底层维护多个数据副本,即使Haadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  2. 高扩展性:Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中。
  3. 高效性:Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快
  4. 高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配

Hadoop的缺点

  1. Hadoop不适用于低延迟数据访问。
  2. Hadoop不能高效存储大量小文件。
  3. Hadoop不支持多用户写入并任意修改文件。

Hadoop1.x和2.x的版本区别

  1. Hadoop1.x中,MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。
  2. Hadoop2.x中,增加了Yarn,将业务逻辑运算和资源调度分开了,Yarn只负责资源的调度,MapReduce只负责运算。

Hadoop架构

  1. Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块。

Hadoop之HDFS概述

  1. HDFS即(Hadoop Distribute File System )分布式文件系统。
  2. HDFS是一个高可靠、高吞吐量的分布式文件系统。比如:100T数据存储,采用“分而治之”的思想,进行数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块
  3. HDFS主要用于数据切割,制作副本,分散存储。

HDFS核心架构

  1. NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
  2. DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验.
  3. SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。
  4. NN,2NN,DN这些既是HDFS角色名称,也是进程名称,代指电脑节点名称

Hadoop之MapReduce

  1. Hadoop MapReduce即(分布式计算框架)。
  2. MapReduce是分布式的离线并行计算框架,用于拆解任务,分散处理,汇整结果。
  3. MapReduce计算过程分为两个阶段:Map阶段 和 Reduce阶段
    1. Map阶段就是“分”的阶段,并行处理输入数据;
    2. Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总;

Hadoop之Yarn

  1. Hadoop Yarn即(资源协调框架):作业调度与集群资源管理的框架。
  2. Yarn主要用于计算资源协调。

Yarn核心架构

  1. ResourceManager(rm)主要作用如下:

    1. 处理客户端请求
    2. 启动/监控ApplicationMaster、
    3. 监控NodeManager
    4. 资源分配与调度;
  2. NodeManager(nm)主要作用如下:

    1. 单个节点上的资源管理
    2. 处理来自ResourceManager的命令
    3. 处理来自ApplicationMaster的命令;
  3. ApplicationMaster(am)主要作用如下:

    1. 数据切分.
    2. 为应用程序申请资源,并分配给内部任务.
    3. 任务监控与容错。
  4. Container主要作用如下:

    1. 对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
  5. ResourceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员。

  6. Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)

Hadoop目录结构

  1. bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
  2. etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
  3. lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
  4. sbin目录:存放启动或停止Hadoop相关服务的脚本
  5. share目录:存放Hadoop的依赖jar包、文档、和官方案例

正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?

  1. NameNode:它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有metadate。
  2. SecondaryNameNode:它不是namenode的冗余守护进程,而是提供周期检查点和清理任务,帮助NN合并editslog,减少NN启动时间
  3. DataNode:它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程
  4. ResourceManager(JobTracker):JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。
  5. NodeManager:(TaskTracker)执行任务。
  6. DFSZKFailoverController:高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为ActiveNN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。
  7. JournalNode:高可用情况下存放namenode的editlog文件。

Hadoop——(Hadoop框架,Hadoop的优缺点,Hadoop1.x和2.x的版本区别,Hadoop架构,Hadoop目录结构)相关推荐

  1. JAVA线程池管理及分布式HADOOP调度框架搭建

    平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发攻城师却在这个上面吃了不少苦头.怎么做一套简便的线程开发模式 ...

  2. Hadoop入门进阶步步高(六-Hadoop1.x与Hadoop2的区别

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 六.Ha ...

  3. Hadoop mapreduce框架简介

    传统hadoop MapReduce架构(老架构) 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1.首先用户程序 (JobClient) 提交了一个 job,job 的信息会 ...

  4. Hadoop Streaming框架使用(三)

    前两篇文章介绍了Hadoop Streaming框架的使用方法.由于篇幅所限,并没有介绍其中的高级使用方法,但是有一些用法还是相当常见的.今天对一些高级用法进行一个简单的说明,希望能给大家一些启发. ...

  5. 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)

    从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起 ...

  6. Hadoop大家族框架介绍

    转载请注明出处: http://blog.fens.me/hadoop-family-roadmap/ Hadoop家族产品 截止到2013年,根据cloudera的统计,Hadoop家族产品已经达到 ...

  7. 【大数据】计算引擎之三:Hadoop处理框架

    1.什么是hadoop处理框架? Apache Hadoop是一种专用于批处理的处理框架.Hadoop是首个在开源社区获得极大关注的大数据框架.基于谷歌有关海量数据处理所发表的多篇论文与经验的Hado ...

  8. 基于Hadoop + Hive框架进行电子商务数据分析的设计与实现

    摘要 随着大数据时代的到来,企业挖掘出隐藏巨大的数据价值给带来了更多的市场机会.大数据存储,处理和处理的研究已是企业未来发展的趋势,因此,将开展基于Hadoop + Hive框架进行电子商务数据分析, ...

  9. hadoop分布式框架--佘响平

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统( ...

最新文章

  1. 专访丨周志华:深度学习理论探讨比应用滞后太多
  2. mybatis log4j打印sql
  3. python垃圾回收机制原理_如何理解和掌握Python垃圾回收机制?
  4. 虚拟局域网vlan实验报告_自动化已非原来的自动化:看虚拟局域网技术应用到罗克韦尔的DCS...
  5. HDU 3018 Ant Trip(一笔画问题)
  6. java true false 异或_三元运算符21?true:false;
  7. 实对称矩阵的特征值求法_梳理:矩阵对角化
  8. 这 4 款电脑记事本软件,得试试
  9. 目标检测中的非极大值抑制(NMS)
  10. 硬盘安装FREEBSD5.4详细步骤
  11. win7显示文件的扩展名
  12. oom 如何避免 高并发_高并发下的内存管理技巧
  13. uniapp中rpx的适配
  14. 通过bitset库实现sha256
  15. Yolov3:win10下训练自己的数据(GPU版)(详细步骤)
  16. win10彻底永久关闭自动更新【亲测有效】
  17. 线阵ccd模块LCAMV8-S11639-01/S11638高灵敏线阵图像传感器模组、驱动板
  18. 用于图片文本识别的Tesseract-OCR的安装说明(windows10)
  19. 【观察】 2016年度中国企业级市场十大新闻
  20. 【数值计算】期末综合大作业

热门文章

  1. HTML5期末大作业:旅游出行网站设计——旅游网设计(15页) HTML+CSS+JavaScript 学生DW网页设计作业成品 学生旅游网站模板
  2. OKR和KPI如何结合使用
  3. 下载 tumblr 标记为喜欢的内容
  4. Python学习:利用线性回归预测双色球开奖号码(纯娱乐升级版)
  5. bat批处理文件 - 滑动关机
  6. java毕业设计诗歌分享平台源码+lw文档+mybatis+系统+mysql数据库+调试
  7. 「缠师课后回复精选」第11课:不会吻,无以高潮!
  8. 浅尝辄止SCOI2018反思
  9. 【国内某社交软件的加解密分析】
  10. emnu8086快速指南