Hadoop 1.x HDFS理论和底层原理

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/Hadoop 1.x HDFS理论和底层原理/

1、 NameNode:存储元数据,存放文件信息,文件密度越大,其占有空间越大,内存硬盘各一份,运行时加载到内存中,包含了文件信息、    块映射,DataNode映射等映射关系;
   响应客户请求,并转移到对应的DataNode进行相应的操作。
2、 DataNode:存储文件内容的,存储于硬盘中;
3、 一个NameNode对应多个DataNode;提供副本备份机制(架构感知策略)
4、 故障检测:
   DataNode:心跳检测,数据完整性检测,块报告
   NameNode:日志文件,镜像文件
5、 空间回收机制
6、 操作文件要对NameNode和DataNode两个节点一起操作,保证两个节点的对应关系的统一性
7、 Shell命令操作:
   ls,lsr
   mkdir,cp,rm
   chmod,chown
   cat,mv,put,get,tail
8、 HDFS缺点:
 
9、 Secondary NameNode作用及执行流程:
 
   把NameNode的edits和fsimage通过网络拷贝到Secondary NameNode中,这个之前先把NameNode的edits创建一个新的来存储从这个时点开始的可能的用户操作,之后将二者进行合并再把合并完成的fsimage.ckpt传回NameNode,并覆盖原来的fsimage,完成内存中的NameNode数据和fsimage数据的同步(不是及时性的)。(并不把新的fsimage重新读入内存,因为内存中时刻是最新的,这个操作意味着Secondary NameNode有一定的备份功能,但是只能备份最新的这次的fsimage,NameNode宕机时能够找回大部分数据而已)。
   Edits和fsimage的同步操作有两个触发途径:3600秒固定触发一次,edits达到64M的时候触发(值可通过配置文件设置)。
10、 Block副本放置策略:用户上传文件先放在一个DataNode,接下来DataNode负责将该副本复制到另一台机架的服务器上,第三个副本放在第二个副本相同机架的另一台服务器,再有多余的副本随机放置。
   HDFS启动时,先进入安全模式(其实是初始化模式),读取硬盘上的fsimage等文件信息,读取到内存中,初始化整个系统,这个过程中如果访问文件会发生错误。
   DataNode会定时向NameNode发送心跳包,如果NameNode发现某个DataNode发生lost了,会通知其他的DataNode把故障DataNode的Block信息在其他的DataNode复制一份,保证文件Block的副本数不变。
11、 HDFS读写流程:
 
   客户端连接服务器,访问文件系统,文件系统访问NameNode获取文件的Block映射信息,再通过文件流系统访问并发访问所有Block。
12、 HDFS文件权限:和linux一样,有三组rwx权限,对文件的x权限无意义。
   注:HDFS只防止好人做错事,不防止坏人做坏事,不做用户密码认证。
13、 安全模式:

本文为博主原创,允许转载,但请声明原文地址: http://www.coselding.cn/article/2016/05/31/Hadoop 1.x HDFS理论和底层原理/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值