HDFS 上文件块的副本数设置

HDFS 上文件块的副本数设置
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码 

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说HDFS 上文件块的副本数设置,希望能够帮助大家进步!!!

一、使用 setrep 命令来设置

# 设置 /javafx-src.zip 的文件块只存三份
hadoop fs -setrep 3 /javafx-src.zip

 

二、文件块在磁盘上的路径

# 设置的 hdfs 目录为
/opt/hadoop-tmp/ # hdfs 文件块的路径为 /opt/hadoop-tmp/dfs/data/current/BP-362764591-192.168.8.136-1554970906073/current/finalized/subdir0/subdir0

HDFS 上文件块的副本数设置

 

三、文件的分割

文件大小 < 块设定值,文件不会被切割,直接存放到 hdfs 上,占用磁盘的空间就是文件大小
文件大小 > 块设定值,文件被切割为块大小的 N 份文件,最后一份不够块大小也上面一样,只占用本身大小的磁盘空间

下图可以看到该文件副本为 3 份,分别存放在 h140、h138 和 h136 三台机器上

 HDFS 上文件块的副本数设置

四、改变副本数后的文件的变化

# 减少,会随机删除一个机器上的文件块,这里是删除了 h136 上的
hadoop fs -setrep 2 /javafx-src.zip

HDFS 上文件块的副本数设置

# 增加,由于只配置了三台机器无法截图
# 分两种情况:
# 机器数量 >= 副本数,会把所有文件块复制到新节点
# 机器数量 < 副本数,会等有新节点增加再执行复制操作,一直到达副本数为止
# 文件块的副本数储存在 NameNode 上
hadoop fs -setrep 5 /javafx-src.zip

 


http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

转载于:https://www.cnblogs.com/jhxxb/p/10693533.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29910

发表评论