想说的是,fsimage 是在磁盘。metadata是在内存。
元数据metadata,内存保存一份,磁盘保存一份。
备份机制思想,就如同在学校图书馆中的书库。为了使得借书运转,要买多本书存库。
我client提货员,向仓库管理员namenode,请求提货,在他同意同时,会将这情况写到editlog,先是将editlog写到磁盘,成功后,再写到内存。
fsimage 载入内存 合并edits
|
新的fsimage
|
namenode ,替换旧的
什么时候checkpoint?
fs.checkpoint.period
默认是3600秒,每隔一个小时,Secondarynamenode就要下载fsimage和edits,进行数据的同步。
条件二:
fs.checkpoint.size
edits一直在变大。一旦达到64M或128M,就要进行合并。
只要达到这两个条件的其中一个,都会进行合并。
在hadoop1.*里,就是fsimage。在hadoop2.*里,还加了后缀。
在$HADOOP_HOME/tmp/dfs/data或$HADOOP_HOME/tmp/dfs/name
对于比如hadoop fs -ls /查看到的文件啊。最终还是存放在磁盘上。因为它是Linux文件系统之上的HDFS文件系统。
安装Eclipse版本时,使用Javase,里面不自带插件,麻烦,一般用Javaee。
RPC-----远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,
为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
在hadoop-2.2.0源代码里,按 Ctrl + shift + T。
跳进某个方法里,按F5和F6。跳出某个方法里,按F7。
Shift + Alt +S
map <k1,v1> <k2,v2>
reduce <k2,{v2}> <k3,v3>
MR流程: 代码编写 -> 作业配置 -> 提交作业 -> 初始化作业 -> 分配任务 -> 执行任务 -> 更新任务和状态 -> 完成作业
main方法所在的类,传入一个是args0,args1
args0是map阶段前的,输入路径
args1是reduce阶段前的,输出路径
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5598524.html,如需转载请自行联系原作者