hdp对应hadoop的版本_hadoop不同版本区别
介绍hadoop不同版本的区别
hadoop1.0
hadoop1.0是最早的版本,只是在google上发表的三篇论文转变过来的。所以hadoop1.0在开发过程当中存在诸多的缺陷,hadoop1.0主要是有HDFS(分布式系统)和一个分布式计算框架(MapReduce)组成的。
对于HDFS,hadoop1.0常用的是主从架构,其中主节点是namenode节点,从节点是datanode节点,对于HDFS的介绍可以参考:
hadoop1.0中,NameNode节点有且只有一个,虽然可以通过SecondaryNameNode进行主节点数据备份,但是存在延时情况,假如主节点挂掉,这时部分数据还未同步到SecondaryNameNode节点上,就会存在资源数据的缺失。因为NameNode是存储着DataNode节点等元数据信息。
对于MapReduce,hadoop1.0也是一个简单的主从结构,是有一个主JobTracker和多个从的TaskTracker组成,而且在hadoop1.0中JobTracker任务繁重:
1.1:负责接收客户端的计算任务,同时要把任务分发给TaskTracker进行执行
1.2:通过心跳机制来管理TaskTracker节点的运行情况。
hadoop2.0
针对hadoop1.0中在HDFS、MapReduce在高可用的、扩展性等方面存在的问题,hadoop做了相应的改进。
2.1、从HDFS上改进:
hadoop2.0增加了HDFS HA机制,解决了hdfs1.0中的单点故障问题,通过HA进行standbynamenode的热备份。
hadoop2.0增加了HDFS Federation(联邦)水平扩展,支持多个namenode同时运行,每一个namenode分管一批目录,然后共享所有datanode的存储资源,从而解决1.0当中单个namenode节点内存受限问题。
hadoop2.0虽然HDFS架构上发生了一些变化,但是使用方式不变,1.0当中相关的命令与API任然可以继续使用。
2.2、从MapReduce上改进:
在hadoop2.0当中增加了YARN框架,针对hadoop1.0中主JobTracker压力太大的不足,把JobTracker资源分配和作业控制分开,利用Resource Manager在namenode上进行资源管理调度,利用ApplicationMaster进行任务管理和任务监控。由NodeManager替代TaskTracker进行具体任务的执行,因此MapReduce2.0只是一个计算框架。对比hadoop1.0中相关资源的调用全部给Yarn框架管理。
hadoop3.0
hadoop2.0之后版本就相对稳定,大部分实际生产环境中都使用的是2.0,包括本次我们教程也是基于2.0上进行讲解,hadoop3.0主要增加了一些性能上的优化和支持:
3.1、java运行环境升级为1.8,对之前低版本的Java不在支持。
3.2、HDFS3.0支持数据的擦除编码,调高存储空间的使用率。
3.3、一些默认端口的改变。
3.4、增加一些MapReduce的调优。
hdp对应hadoop的版本_hadoop不同版本区别相关推荐
- Hadoop详解以及历史版本介绍
Hadoop详解 Hadoop的介绍以及发展历史 Hadoop之父Doug Cutting Hadoop最早起源于lucene下的Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页 ...
- Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)...
如果大家,在启动的时候,比如遇到如下问题,则 明明已经授权了啊,怎么被拒绝,纳尼??? 解决办法 然后,再来这样,就可以了. 注意,在此之前. ubuntucmbigdata1机器上,则需要执行 bi ...
- linux下安装gcc及设置多版本gcc多版本共存(如果enable静态库,会报错,不知道为什么,忽略静态库就没问题了)...
背景:1.在做文本挖掘的时候,安装"结巴"算法包,需要gcc版本>4.6,但是不知道是不是有内核或其他东西是gcc低版本支持的,只好安装多版本: 2.linux版本:Red ...
- Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)...
前期博客 Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式.rpm方式和yum方式) 说在前面的话(看清楚就好!!!) 我这篇博客,是两种方式都 ...
- Cloudera Manager安装之利用parcels方式安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(五)...
参考博客 Cloudera Manager安装之利用parcels方式安装单节点集群 Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式.rpm ...
- nodejs高版本转低版本
需要安装 第一步: npm install --save-dev babel-register npm install --save-dev babel-polyfill //由于只安装babel-r ...
- .NET 获取客户端的操作系统版本、浏览器版本和IP地址
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...
- linux下查看GPU版本和详情信息 CUDA版本信息 anaconda版本信息
查看GPU型号 lspci | grep -i nvidia 查看NVIDIA驱动版本 sudo dpkg --list | grep nvidia-* # lspci | grep -i nvidi ...
- miui 8 android对应关系,小米回应MIUI版本和安卓版本没有对应关系 你怎么看
MIUI是基于Android原生系统和针对中国用户使用习惯开发的Android Rom,MIUI深受手机发烧友喜爱.MIUI是基于Android原生系统和针对中国用户使用习惯开发的Android Ro ...
- Android SDK版本和ADT版本
Android早期的版本号有点"混乱",比如Android 2.2对应的ADT版本为ADT-0.9.9 而Android 2.3对应的的ADT版本则突然"跃迁" ...
最新文章
- FD.io/VPP — 常用指令集合
- asp.net七层架构是指什么
- 二值信号量和互斥锁到底有什么区别?
- Spring Data JPA 教程(翻译)
- Jetty在win10上的配置,IDEA中配置Jetty,Maven中配置Jetty插件,Eclipse中配置Jetty插件及其使用,通过java代码内嵌Jetty Server
- python的for语句打印金字塔图形_python实现输入任意一个大写字母生成金字塔的示例...
- java字节码_掌握Java字节码
- 系统固件升级_固件和操作系统之间的差异
- python识别验证码ocr_Python3使用tesserocr识别字母数字验证码
- Scala的所有符号运算符都意味着什么?
- Centos 03 基础命令
- 数据增强操作(旋转、翻转、裁剪、色彩变化、高斯噪声等)
- ASEMI低压差线性稳压器AMS1117详解
- hash与history 以及区别
- android 查看路由器ip,如何查看路由器ip地址进入登录页面
- 2018.8 安徽师大附中培训游记
- oracle 分区表,分区索引
- Vue app.js文件过大,带宽占用过大,优化方案(持续优化)
- 多道批处理操作系统和分时操作系统的概念
- 阿里云相关-云服务器ECS
热门文章
- 利用python构建信用卡评分
- html注册页面教程视频,新手建站HTML 学习系列视频教程之HTML 简介
- 大师之路解惑基础概念篇:Tomcat与servlet联系与区别
- vue3 tinymce富文本插件
- Nature、Science、Cell、Plos系列顶级学术杂志解析
- JS基础-下拉菜单案例
- AspNetPager常用属性及用法 / URLRewrite伪静态与AspNetPager分页控件的结合
- 经典问题之约瑟夫问题_C语言实现
- 阿拉伯数字转换成人民币大写金额的方法
- Leetcode|DFS|130. 被围绕的区域