Hadoop权威指南阅读笔记
2019独角兽企业重金招聘Python工程师标准>>>
1、MR和关系型数据
MR和传统的关系型数据库处理的数据是不同,传统关系型数据库处理的是较结构化数据,对于半结构化和非机构话数据处理的还不是很好,MR正好对关系型数据不擅长领域做了补充,MR输入的键值并不是数据的固有属性,而是由分析数据人员来选择的,就目前看来他们是互补的关系,MR通过HIVE实现了hadoop固有的SQL,不过mr的适应性更强一些,不过随着以后的发展关系型数据库也会慢慢不断发展的。另外一个值得注意的就是MR是基于数据流的数据处理,处理的是一种非结构化的数据,比SQL结构性数据更具有适用性,是这种编程更加具有伸缩性。
2、MR的核心是实现数据本地化,由于MR是基于数据流式处理,所以带宽资源就显得尤为重要。
3、由于MR采用的是无共享的框架,各节点之间都是相对独立的,所以MR可以检测出节点失败的情况,在MR过程中,R阶段是要以M的结果为输入的,所以如果R没有获取到M的结果的时候会重新执行。在MR过程中,R的output输出目录是不能存在的,否则无法执行,一个长时间执行后的结果被覆盖是一件很懊恼的事情。
4、MR过程中有两个很重要的角色JobTracker和TaskTracker,可以打个比喻,J相当于管理员(负责分配任务),管理者一批员工T(负责执行任务),员工执行任务要从J那边得到任务编号才可以进行任务执行。
5、hadoop将输入数据分成等长的数据分片,每一个分片都是一个map任务,并由用户自定义的函数MR来处理分片中的的每一条记录。
6、决定整个作业时间的主要因素分为两种1、管理分片的时间2、map创建任务的时间
7、数据本地优化,各节点执行map,各个节点存有的数据分片越趋向于HDFS分块可以获得最佳性能,这样确保了单个节点的最大输出块。输出块的大小根据硬件和集群的实际情况而定,磁盘的读取量。R阶段并不具备本地化的优势,他的输入通常是来自M的结果,因此需要通过网络进行传输发送到任务R节点上,这里就涉及到带宽问题了,因为我们应该尽量减少M向R的输入,通过一些其他的手段如COMBINER或者并行输入或者通过压缩数据流的手段等。
8、hadoop目前不适用的场景 1、低时间延迟的 可以考虑Storm 或者Spark 2、大量小文件,主要原因是所有的数据块元数据信息都存放在namenode文件夹下,这样大量的小文件会造成namenode文件内存被占用 3、多用户写入,任意修改的,因为hadoop设计的初衷是为了一次写入,多次读取的。
9、HDFS的数据块大于磁盘的块是为了减少寻址。
10、namenode管理着所有datanode的域名空间,他维护着文件系统及整棵树的文件目录,这些信息被永久的保存在本地磁盘上,namenode也记录着各个节点的数据信息,但是他并不保存在本地磁盘上,随着每次重启都要重构节点信息。更要命的是namenode是单节点,一个集群只有一个namenode所以一旦namenode出现问题,整个集群瘫痪了,如果使用keepalived的话,可以作为辅助节点,但是难免还是会有数据的丢失。据说hadoop2.x已经解决了这个问题。
11、HDFS客户端通过DistributedFileSystem 获得一个FsDataInputStream对象,从na
menode那里获取到datanode的文件位置信息。DFSoutputStream处理datanode和namenode之间的通信。
12、一致模型:在读取数据的时候,FSDdataoutputstream得到的数据是按块来显示的就是说,块在读取的时候不能立即显示需要等该块读完了,这样就造成了数据缓存,一旦集群发生故障数据块丢失生产环境下是不允许的,HDFS提供了一个方法来强制所有的缓存与数据节点保持同步即对FSDataOutPutStream调用sync(),能保证到目前为止写入数据的一致性,不过这样会对应用增加一些额外的性能开销,所以引用该方法还需要根据集群性能的均衡而定。
13、并行复制,典型的应用就是两个HDFS之间的传输,该方法可以从hadoop文件系统复制大量的数据,也可以将大量数据从hadoop复制出来。这里我们可以优化尽量的减少MAP构建,尽量让他多复制。
转载于:https://my.oschina.net/u/1169079/blog/221524
Hadoop权威指南阅读笔记相关推荐
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
- Hadoop权威指南学习笔记一
Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...
- MapReduce总结 + 相关Hadoop权威指南读书笔记(未完......欢迎补充,互相学习)
文章目录 MapReduce概述 MapReduce优缺点 MapReduce核心思想 MapReduce进程 MapReduce编程规范 WordCount 案例实操 本地测试 集群测试 Hadoo ...
- MyCat权威指南阅读笔记(基础篇)
1.1何为数据切分? 简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主 机)上面,以达到分散单台设备负载的效果. 数据的切分(Sharding)根据其切分规 ...
- Postfix权威指南-阅读笔记-架设和维护邮箱服务器
PostFix权威指南 目录 文章目录 适用人群 前言 1. 简介 Internet E-mail传递流程 2.基础概念 在线说明书 模拟SMTP对话 常见响应状态码 4.基本的配置与管理 默认安装目 ...
- Hadoop权威指南 - 学习笔记
初识Hadoop.关于MapReduce Hadoop宏观介绍 相对于其他系统的优势 关系型数据库管理系统 为什么不能用配有大量硬盘的数据库进行大规模分析?为什么需要Hadoop? 因为计算机硬盘的发 ...
- HTTP权威指南阅读笔记五:Web服务器
Web服务器会做些什么: 1.建产连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭. 1)处理新连接 2)客户端主机名识别 3)通过ident确定客户端用户 ident在组织内 ...
- HTTP权威指南阅读笔记一:HTTP概述
HTTP协议版本: 1.HTTP/0.9:HTTP的1991原型版本称为HTTP/0.9.这个协议有很多严重的缺陷,只应该用与与老客户端的交互.HTTP/0.9只支持GET方法,不支持多媒体内容的MI ...
- JS权威指南阅读笔记
2019独角兽企业重金招聘Python工程师标准>>> 词法结构 unicode以\u为前缀,其后跟随4个十六进制数 标识符必须以字母.下划线或$开始,后续字符可以是字母.数字.下划 ...
最新文章
- windows7 php 无法启动服务,windows update服务无法启动怎么解决?
- Java语言的替代品:JVM的新编程语言开源
- excel分段排序_EXCEL基础篇第六章(日期和时间的使用方法)
- 切换node版本 nvm 的基本使用 -- 以及安装公司特有的镜像源
- J2CL –迟到总比不到好
- mybatis-plus+springboot+vue+element-ui实现分页
- 我的天哪我有博客了!
- Java求某一天是星期几
- 200元组群晖—HP惠普T610瘦客户端:直接硬盘启动黑群晖
- DCGAN数据集:mnist、CelebA、lsun
- SCAU 计算智能 8615 快乐
- 卧龙图说酒:喝酒的人生,是有意义的人生!
- 暴走P图APP隐私政策
- Wireshark The capture session could not be initiated on interface报错解决
- IOS中根据生日精确计算年龄
- oracle vm 鼠标切换,VirtualBox的Linux虚拟机文本模式和图形模式的切换问题
- 3dMax 对齐(星系)
- Spark 系列——Spark的Shuffle原理
- 零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件
- PHP语法基础4.1
热门文章
- 在Eclipse中查看Javadoc文档
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(八)RTP音视频传输解析层之MPA传输格式...
- vue.use无非就是为Vue对象注入新的方法和属性
- EF具体用在什么类型的项目上
- hdu 5100 n*n棋盘放k*1长方条最多覆盖面积
- jQuery css()选择器使用说明
- null和“”的理解
- 基于OpenCV给图片添加边框
- Ubuntu 16.04更新软件提示需要安装不能信任的软件包 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease
- 图像拼接 SIFT资料合集