gpt4 book ai didi

java - HDFS 复制属性未反射(reflect)在 hfs-site.xml 中定义

转载 作者:可可西里 更新时间:2023-11-01 15:56:02 25 4
gpt4 key购买 nike

我在 HDFS 上工作,并在 hfs-site.xml 中将复制因子设置为 1,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>/Users/***/Documnent/hDir/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/Users/***/Documnent/hDir/hdfs/datanode</value >
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

</configuration>

但是当我尝试将文件从本地系统复制到 hdfs 文件系统时,我发现该文件的复制因子是 3。这是在 hdfs 上复制文件的代码:

    public class FileCopyWithWrite {

public static void main(String[] args) {
// TODO Auto-generated method stub

String localSrc = "/Users/***/Documents/hContent/input/docs/1400-8.txt";
String dst = "hdfs://localhost/books/1400-8.txt";
try{

InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
Configuration conf = new Configuration();;
FileSystem fs = FileSystem.get(URI.create(dst), conf);

OutputStream out = fs.create(new Path(dst), new Progressable() {

public void progress() {
// TODO Auto-generated method stub
System.out.println(".");
}
});

IOUtils.copyBytes(in, out, 4092, true);


}catch(Exception e){
e.printStackTrace();
}
}

}

请找到这张显示复制因子为 3 的屏幕截图:

enter image description here

请注意,我已从伪分布式模式开始,并且已根据 Hadoop 权威指南一书中的文档更新了 hdfs-site.xml。关于为什么会发生这种情况有什么建议吗?

最佳答案

删除 namenode 目录和 datanode 目录解决了我的问题。所以我遵循了以下程序:

  1. 停止服务,即 dfs、yarn 和 mr.

  2. 删除 hfs-site.xml 文件中指定的 namenode 和 datanote 目录。

  3. 重新创建名称节点和数据节点目录。

  4. 重新启动服务,即 dfs、yarn 和 mr。

关于java - HDFS 复制属性未反射(reflect)在 hfs-site.xml 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com