关于HDFS一些总结

今天说的是关于1.HDFS的特性 2.HDFS的缺点 3.HDFS的高级命令 4.HDFS安全模式 5.HDFS的配置选项 6.secondartnameNode的工作原理(意义)

步入正题:
1.HDFS的特性
1.存储海量数据:HDFS可横向扩展,其储存的文件可以支持PB级数据
2.高容错性:数据保存多个副本,副本丢失后自动恢复。可构建廉价(与小型机大型机对比)的机器上,实现线性扩展。(随着节点数量的增加,集群的性能-计算机性能和存储性能都会增加)
当集群增加新节点后,namenode也可以感知,进行负载平衡,将数据分发和备份数据均衡到新的节点上(负载均衡:集群可将原本使用容量较高的节点上的数据自动写入新的节点上,达到所有节点容量均匀,每个节点磁盘使用容量百分比的差异可以人工设置)
3.大文件存储数据分块存储,将一个大块的数据切分多个小块的数据
2.HDFS的缺点
1.不能做到低延迟数据访问:HDFS针对一次性获取大量的数据做了优化,牺牲了小数据量快速查询性能。
2.多次写入,一次读取(擅长:HDFS适合一次写入,多次读取的场景)
3.不支持多用户的并行写
“ A:由于namenode将文件系统的元数据储存到内存中,因此该文件系统所能存储的文件总数受限于namenode的内存容量 ”
“B:元数据信息中每个文件,目录和数据块的存储信息大约占150字节(1g数据储存的元数据信息占用150字节,1M数据元数据信息也占用的是150字节)”
受限于内存,元数据信息的存储机制导致无论数据多大,元数据信息中描述这个数据的信息都是150字节。
3.HDFS高级命令
特定文件夹下的副本数可以设置,存储容量可以设置,存储文件的个数可以设置。
设置文件夹内数据的个数:hdfs dfsadmin -setQuota 50 lisi (lisi 本身算一个 最多可上传49个)
清除文件数量限制 hdfs dfsadmin -clrQuota /user/root/lisi
限制空间大小 hdfs dfsadmin -setSpaceQuota 100M /user/root/lisi (最多可以存储100M) 清除空间限额 hdfs dfsadmin -clrSpaceQuota /user/root/lisi
查看hdfs文件限额数量 hdfs dfs -count -q -h /user/root/lisi
4.HDFS安全模式(safemode)
这个是HDFS一种特殊状态,该状态下只允许数据读取,不允许数据的修改与添加等变更操作
什么时候进入安全模式?==》集群重新启动的时候进入安全模式
安全模式下多了什么:DataNode在启动的时候会像namenode汇报可用的block等状态
如何查看集群当前的状态:hdfs dfsadmin -safemode get
如何进入安全模式:hdfs dfsadmin -safemode enter
如何退出安全模式:hdfs dfsadmin -safemode leave
5.Fsimage Edits
NameNode在工作时生成Fsimage ,Edits两个文件
Fsimage 文件系统的快照,这个文件相对较小
Edits 记录客户端对集群的所有添加,删除,修改等操作这个文件相对较大。作用:用于恢复集群到关闭前的状态。开机时系统会将这两个文件加载到内存,进行合并恢复(恢复完Edits失效)
6.HSFS配置选项
dfs.namenode.name.dir 设置fsimage 数据的存放路径 dfs.namenode.edits.dir 设置edits数据的存放路径
将edits文件转换成XML
hdfs oev -i edits_0000000000000000416-0000000000000000418 -p XML -o test002.xml 将Fsimage文件转换成XML
hdfs oiv -i fsimage_0000000000000000418 -p XML -o test001.xml

7.secondarynamenode工作原理
前提:未使用secondaryNameNode时,NameNode工作中会产生fsimage和edits日志过大,直接导致集群二次开机恢复原本状态过慢
secondarynameNode存在的意义就是加快集群二次启动的速度(减小集群二次启动的时间) secondarynameNode原理(如何帮助NameNode 周期性在NameNode节点拷贝fsimage 和edtes 到自己的节点上,进行合并,合并后生成全新的FSimage,最后将FSimage发送回NameNode.) secondarynameNode最好是一个独立的节点, 此节点的配置最好与NameNode 相同。
在这里插入图片描述
触发secondarynameNode合并文件的条件
1、 时间维度, 默认一小时合并一次 , 人为设置使用如下参数
dfs.namenode.checkpoint.period :3600
2、 次数维度,默认100W次合并一次。人为设置使用如下参数
dfs.namenode.checkpoint.txns : 1000000

NameNode存储到元数据信息(fsimage 和edtes)可以多目录存储,防止元数据丢失。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值