Hadoop-hdfs

简介

HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)Google 文件系统

HDFS有很多特点

    ① 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份

    ② 运行在廉价的机器上。

    ③ 适合大数据的处理。多大?多小?HDFS默认会将文件分割成block,128M(hadoop2中默认,1是64M)为1个block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,那内存的负担会很重。

如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个。

NameNode(管理):在Master节点上。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;存储在内存中

SecondaryNameNode:分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

DataNode(存储):在Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

客户端请求的过程(读取和存储文件的过程)

保存
文件流程
1.客户端发送请求给namenode,
2.
namenode得到请求后决定把文件分为几块,存储在那些datanode,
3
返回请求告诉客户端需要存储在那些 datanode
4 客户端在访问对应的dataNode的输入输出流保存文件

读取文件流程
1.客户端发送请求给namenode,
namenode通过查询放在内存中的文件信息得到用户需要读取的文件存放的文件
3
返回请求告诉客户端需要 读取的文件存储在那些datanode
4
客户端在访问对应的dataNode的输入输出流读取文件

 

1.nameNode怎么知道哪些dataNode可用?
     
  nameNode与dataNode之间有个心跳机制, dataNode向NameNode发送信息(默认是3秒),告诉namenode我还活着,如果一个datanode长时间 没有发送心跳时,NameNode就判断DataNode的连接已经中断,不能继续工作了,就把他定性为”dead node”。NameNode会检查dead node中的副本数据,复制到其他的data node中。

2.
SecondaryNameNode有什么用?
     
SecondaryNameNode不是namenode的备份,主要是同步元数据,日志的,还有监控HDFS状态的。 它每隔一段时间会得到HDFS元数据的快照
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

white......

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值