更新时间:2022-09-08 GMT+08:00
分享

建议

HDFS的读写文件注意点

HDFS不支持随机读和写。

HDFS追加文件内容只能在文件末尾添加,不能随机添加。

只有存储在HDFS文件系统中的数据才支持append,edit.log以及数据元文件不支持Append。Append追加文件时,需要将“hdfs-site.xml”中的“dfs.support.append”参数值设置为true。

  • “dfs.support.append”参数在开源社区版本中默认值是关闭,在FusionInsight版本默认值是开启。
  • 该参数为服务器端参数。建议开启,开启后才能使用Append功能。
  • 不适用HDFS场景可以考虑使用其他方式来存储数据,如HBase。

HDFS不适用于存储大量小文件

HDFS不适用于存储大量的小文件,因为大量小文件的元数据会占用NameNode的大量内存。

HDFS中数据的备份数量3份即可

DataNode数据备份数量3份即可,增加备份数量不能提升系统效率,只会提升系统数据的安全系数;在某个节点损坏时,该节点上的数据会被均衡到其他节点上。

HDFS定期镜像备份

NameNode的镜像备份参数为“fs.namenode.image.backup.enable”,将设置该值为“true”,系统即可定期备份NameNode的数据。

提供数据可靠性相关操作

在调用write函数写入数据时,HDFS客户端并不会将数据写入HDFS,而是缓存在客户端内存中,此时若客户端异常、断电,则数据丢失。对于有高可靠要求的数据,应该写完后,调用hflush将数据刷新到HDFS侧。

分享:

    相关文档

    相关产品