windows下配置hadoop
hadoop 安装包解压,路径不要有特殊字符
lib和bin直接解压出来的不可用,需要自己重新编译
配置环境变量:HADOOP_HOME,path中添加:bin目录
namenode
响应客户端的请求,上传文件:
client申请上传文件,namenode查看元数据信息,查看客户端申请的路径是否已存在
namenode返回可用的datanode
client直接访问第一个datanode,上传第一个block,datanode向namenode报告block信息,第一个block建立一个pipeline,向其他datanode拷贝block副本,链式向下传递副本,达到配置的副本数。
namenode写元数据
内存中:meta.data
磁盘:fsimage、edits log
先修改edits
同步到meta.data
fsimage结构:
文件名,副本数,blockid,block存储的机器
NameNode(FileName, replicas, block-ids,id2host…)
/test/a.log, 3 ,{blk_1,blk_2},
[{blk_1:[h0,h1,h3]},{blk_2:[h0,h2,h4]}]
secondary namenode 同步修改fsimage
checkpoint
fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。
fs.checkpoint.size
规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔。默认大小是64M。
节点间通信:
FileSystem获取过程
fs持有DistributedFileSystem dfs,dfs中持有DFSClinet dfsc对象,dfsc中持有namenode代理对象
原文地址:http://blog.csdn.net/jinyingone/article/details/44906981