我为我的文件设置了如下复制因子:
hadoop fs -D dfs.replication=5 -copyFromLocal file.txt /user/xxxx
当 NameNode 重新启动时,它会确保复制的块被复制。因此,文件的复制信息存储在 nameNode ). 我怎样才能得到那个信息?
NameNode
nameNode
wh6knrhe1#
我们可以使用以下命令来检查文件的复制。
hdfs dfs -ls /user/cloudera/input.txt
或
hdfs dfs -stat %r /user/cloudera/input.txt
kjthegm62#
尝试使用命令 hadoop fs -stat %r /path/to/file ,它应该打印复制因子。
hadoop fs -stat %r /path/to/file
cczfrluj3#
您可以运行以下命令来获取复制因子,
hadoop fs -ls /user/xxxx
输出中的第二列表示文件及其显示的文件夹的复制系数 - ,如下图所示。
-
lndjwyie4#
除了阿列克谢·谢斯塔科夫的回答非常有效,完全符合你的要求外,其他的方法,主要在这里找到,包括:
hadoop dfs -ls /parent/path
它显示了所有 /parent/path 第二栏的内容。通过java,您可以通过以下方式获得此信息:
/parent/path
FileStatus.getReplication()
您还可以使用以下方法查看文件的复制系数:
hadoop fsck /filename -files -blocks -racks
最后,从namenode的webui,我相信这些信息也是可用的(没有检查)。
4条答案
按热度按时间wh6knrhe1#
我们可以使用以下命令来检查文件的复制。
或
kjthegm62#
尝试使用命令
hadoop fs -stat %r /path/to/file
,它应该打印复制因子。cczfrluj3#
您可以运行以下命令来获取复制因子,
输出中的第二列表示文件及其显示的文件夹的复制系数
-
,如下图所示。lndjwyie4#
除了阿列克谢·谢斯塔科夫的回答非常有效,完全符合你的要求外,其他的方法,主要在这里找到,包括:
它显示了所有
/parent/path
第二栏的内容。通过java,您可以通过以下方式获得此信息:
您还可以使用以下方法查看文件的复制系数:
最后,从namenode的webui,我相信这些信息也是可用的(没有检查)。