Hadoop——(Hadoop框架,Hadoop的优缺点,Hadoop1.x和2.x的版本区别,Hadoop架构,Hadoop目录结构)
文章目录
- 大数据的简介
- Hadoop框架
- Hadoop的优缺点
- Hadoop1.x和2.x的版本区别
- Hadoop架构
- Hadoop目录结构
- 正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?
大数据的简介
- 大数据是指无法再一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,同时大数据也是需要新的处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量以及多样化的信息资产。
- 大数据的特点:大量,高速,多样,真实以及低价值。
- 大量:指的是采集,存储和计算的数据量都非常大。
- 高速:指的是在大数据时代,数据的创建,存储,分析都被要求高速处理,比如电商网站的个性化推荐尽可能要求实时完成推荐,这也是大数据区别于传统数据挖掘的显著特征。
- 多样:数据的形式和来源多样化,包括结构化,半结构化和非结构化数据,具体表现为网络日志,音频,视频,图片,地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。
- 真实:确保数据的真实性,才能保证数据分析的正确性。
- 低价值:数据价值密度相对较低,互联网催生了海量数据,但是价值密度较低,如何结合业务罗杰并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。
Hadoop框架
Hadoop是什么?
- Hadoop是一个由Apache基金会开发的一套分布式存储和计算平台。
- Hadoop主要解决海量数据的存储以及分析计算问题。
- 狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态圈,包括很多其他的软件框架。
hadoop 生态系统
- hadoop生态系统,不仅包含hadoop,还包括保证hadoop框架正常高效运行其他框架,比如zookeeper、Flume、Hbase、Hive、Sqoop等辅助框架。
- Hadoop(HDFS + MapReduce + Yarn)。
- Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护,命名服务
- Hive 基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。
- Hbase:是一个海量列式非关系型数据库, 利用Hadoop HDFS作为其存储系统。
- Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输数据采集工具。
- Sqoop 将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
- Kafka 高吞吐消息中间件等。
Hadoop的特点
- 扩容能力(Scalable):Hadoop是再计算机集群内分配数据并完成计算任务, 群可以方便的扩展到数以千计个节点。
- 低成本(Economical):Hapoop通过普通廉价的机器组成服务器集群来分发以及处理数据,成本很低。
- 高效率(Efficient):Hapood可以在节点之间动态并行的移动数据,速度很快。
- 可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动的重新部署(redeploy)计算任务。
Hadoop的发行版本
- Hadoop发行版本非常多,有Cloudera发行版(CDH)、Hortonworks发行版、华为发行版、Intel发行版等,所有这些发行版均是基于Apache Hadoop衍生出来的。
- 目前Hadoop常用的三个版本分别是:
- Apache Hadoop版本(最原始的,所有发行版均基于这个版本进行改进)
- Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)
- Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。
Hadoop的各个发行版本的特点
- Apache Hadoop 原始版本(官网地址:http://hadoop.apache.org/)
- 拥有全世界的开源贡献,代码更新版本比较快,需要注意版本的升级,版本的维护,以及版本之间的兼容性。
- 软件收费版本ClouderaManager CDH版本 --生产环境使用(官网地址:https://www.cloudera.com/)。
- Cloudera是是美国一家大数据公司在Apache开源Hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题。
- 免费开源版本HortonWorks HDP版本–生产环境使用(官网地址:https://hortonworks.com/)。
- hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),
- HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态.
- web管理界面软件HDF网址(http://ambari.apache.org/)
Apache Hadoop版本更迭
- 0.x 系列版本:Hadoop当中最早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本
- 1.x 版本系列:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等
- 2.x 版本系列:架构产生重大变化,引入了yarn平台等许多新特性
- 3.x 版本系列:EC技术、YARN的时间轴服务等新特性
Hadoop的优缺点
Hadoop的优点
- 高可靠性:Hadoop底层维护多个数据副本,即使Haadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中。
- 高效性:Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快
- 高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配
Hadoop的缺点
- Hadoop不适用于低延迟数据访问。
- Hadoop不能高效存储大量小文件。
- Hadoop不支持多用户写入并任意修改文件。
Hadoop1.x和2.x的版本区别
- Hadoop1.x中,MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。
- Hadoop2.x中,增加了Yarn,将业务逻辑运算和资源调度分开了,Yarn只负责资源的调度,MapReduce只负责运算。
Hadoop架构
- Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块。
Hadoop之HDFS概述
- HDFS即(Hadoop Distribute File System )分布式文件系统。
- HDFS是一个高可靠、高吞吐量的分布式文件系统。比如:100T数据存储,采用“分而治之”的思想,进行数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块
- HDFS主要用于数据切割,制作副本,分散存储。
HDFS核心架构
- NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
- DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验.
- SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。
- NN,2NN,DN这些既是HDFS角色名称,也是进程名称,代指电脑节点名称
Hadoop之MapReduce
- Hadoop MapReduce即(分布式计算框架)。
- MapReduce是分布式的离线并行计算框架,用于拆解任务,分散处理,汇整结果。
- MapReduce计算过程分为两个阶段:Map阶段 和 Reduce阶段
- Map阶段就是“分”的阶段,并行处理输入数据;
- Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总;
Hadoop之Yarn
- Hadoop Yarn即(资源协调框架):作业调度与集群资源管理的框架。
- Yarn主要用于计算资源协调。
Yarn核心架构
ResourceManager(rm)主要作用如下:
- 处理客户端请求
- 启动/监控ApplicationMaster、
- 监控NodeManager
- 资源分配与调度;
NodeManager(nm)主要作用如下:
- 单个节点上的资源管理
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令;
ApplicationMaster(am)主要作用如下:
- 数据切分.
- 为应用程序申请资源,并分配给内部任务.
- 任务监控与容错。
Container主要作用如下:
- 对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
ResourceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员。
Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
Hadoop目录结构
- bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
- etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
- lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
- sbin目录:存放启动或停止Hadoop相关服务的脚本
- share目录:存放Hadoop的依赖jar包、文档、和官方案例
正常工作的Hadoop集群中Hadoop都分别需要启动哪些进程,它们的作用分别是什么?
- NameNode:它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有metadate。
- SecondaryNameNode:它不是namenode的冗余守护进程,而是提供周期检查点和清理任务,帮助NN合并editslog,减少NN启动时间
- DataNode:它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程
- ResourceManager(JobTracker):JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。
- NodeManager:(TaskTracker)执行任务。
- DFSZKFailoverController:高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为ActiveNN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。
- JournalNode:高可用情况下存放namenode的editlog文件。
Hadoop——(Hadoop框架,Hadoop的优缺点,Hadoop1.x和2.x的版本区别,Hadoop架构,Hadoop目录结构)相关推荐
- JAVA线程池管理及分布式HADOOP调度框架搭建
平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发攻城师却在这个上面吃了不少苦头.怎么做一套简便的线程开发模式 ...
- Hadoop入门进阶步步高(六-Hadoop1.x与Hadoop2的区别
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 六.Ha ...
- Hadoop mapreduce框架简介
传统hadoop MapReduce架构(老架构) 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1.首先用户程序 (JobClient) 提交了一个 job,job 的信息会 ...
- Hadoop Streaming框架使用(三)
前两篇文章介绍了Hadoop Streaming框架的使用方法.由于篇幅所限,并没有介绍其中的高级使用方法,但是有一些用法还是相当常见的.今天对一些高级用法进行一个简单的说明,希望能给大家一些启发. ...
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起 ...
- Hadoop大家族框架介绍
转载请注明出处: http://blog.fens.me/hadoop-family-roadmap/ Hadoop家族产品 截止到2013年,根据cloudera的统计,Hadoop家族产品已经达到 ...
- 【大数据】计算引擎之三:Hadoop处理框架
1.什么是hadoop处理框架? Apache Hadoop是一种专用于批处理的处理框架.Hadoop是首个在开源社区获得极大关注的大数据框架.基于谷歌有关海量数据处理所发表的多篇论文与经验的Hado ...
- 基于Hadoop + Hive框架进行电子商务数据分析的设计与实现
摘要 随着大数据时代的到来,企业挖掘出隐藏巨大的数据价值给带来了更多的市场机会.大数据存储,处理和处理的研究已是企业未来发展的趋势,因此,将开展基于Hadoop + Hive框架进行电子商务数据分析, ...
- hadoop分布式框架--佘响平
Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统( ...
最新文章
- 专访丨周志华:深度学习理论探讨比应用滞后太多
- mybatis log4j打印sql
- python垃圾回收机制原理_如何理解和掌握Python垃圾回收机制?
- 虚拟局域网vlan实验报告_自动化已非原来的自动化:看虚拟局域网技术应用到罗克韦尔的DCS...
- HDU 3018 Ant Trip(一笔画问题)
- java true false 异或_三元运算符21?true:false;
- 实对称矩阵的特征值求法_梳理:矩阵对角化
- 这 4 款电脑记事本软件,得试试
- 目标检测中的非极大值抑制(NMS)
- 硬盘安装FREEBSD5.4详细步骤
- win7显示文件的扩展名
- oom 如何避免 高并发_高并发下的内存管理技巧
- uniapp中rpx的适配
- 通过bitset库实现sha256
- Yolov3:win10下训练自己的数据(GPU版)(详细步骤)
- win10彻底永久关闭自动更新【亲测有效】
- 线阵ccd模块LCAMV8-S11639-01/S11638高灵敏线阵图像传感器模组、驱动板
- 用于图片文本识别的Tesseract-OCR的安装说明(windows10)
- 【观察】 2016年度中国企业级市场十大新闻
- 【数值计算】期末综合大作业
热门文章
- HTML5期末大作业:旅游出行网站设计——旅游网设计(15页) HTML+CSS+JavaScript 学生DW网页设计作业成品 学生旅游网站模板
- OKR和KPI如何结合使用
- 下载 tumblr 标记为喜欢的内容
- Python学习:利用线性回归预测双色球开奖号码(纯娱乐升级版)
- bat批处理文件 - 滑动关机
- java毕业设计诗歌分享平台源码+lw文档+mybatis+系统+mysql数据库+调试
- 「缠师课后回复精选」第11课:不会吻,无以高潮!
- 浅尝辄止SCOI2018反思
- 【国内某社交软件的加解密分析】
- emnu8086快速指南