测试积点老人 发表于 2018-12-27 15:51:49

hadoop的HDFS

HDFS(Hadoop Distribute File Syetem)分布式文件系统 设计原则: a、文件以块(block)存储,每个块默认大小是64M(1.x,2.X版本是128M)
b、通过副本机制可以提高可靠度和读取吞吐量
c、每个块至少分到三块DataNode上
d、单一master(NameNode)来协调存储元数据(metadata)
e、客户端对文件爱呢没有缓存机制(NO datacaching)

NameNode:其主要功能时为了提供查询信息,它是一个jetty服务器 NameNode保存metadate的信息包括:
文件owership和permissions 文件包含哪些块 Block保存在哪个DataNode上(由DataNode上报)
NameNode的metadate信息在启动后会加载到内存中 metadata存储到磁盘文件名为“fsimage” nlock的位置信息不会保存到fsimage上

DataNode: 保存Block 启动DN县城的时候回想NN回报Block的信息
通过NN发散送心跳保持与其联系(默认3秒一次),如果NN在十分钟内没有接收到DN的心跳, 则默认此DN已经失效(lost),并复制(copy)其block存到其他DN上

block的副本存放策略:
第一个副本时放置在上传文件的DN;如果实在集群外提交,则随机选择一个cpu不太忙,磁盘不太满的节点
第二个副本放在与第一个副本不同的机架的节点上 第三个副本存放在与第二个副本相同集群的节点上
更多副本:随机节点上 当DN读取block的时候会自动计算checksum,如果计算出的checksum和设置block的时候不一样, 证明block已经损坏,client会读取其他DN上block,NN会标记给块已经损坏,然后复制block达到预期 设置的文件备份数。
DN在其文件创建后三周验证其checksum。 secondaryNameNode(snn) 它不是NN的热备份 它可以作为冷备份 将本地的fsimage导入 修改cluster所有DN的NameNode地址 修改所有client端的NameNode地址 或者修改SNN IP为原IP 它的工作时帮助NN合并edits log,减少NN启动时间

页: [1]
查看完整版本: hadoop的HDFS