Java HDFS复制属性未反映hfs-site.xml中定义的内容

Java HDFS复制属性未反映hfs-site.xml中定义的内容,java,hadoop,hdfs,replication,Java,Hadoop,Hdfs,Replication,我正在研究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> <val

我正在研究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>
请查找显示复制系数为3的屏幕截图:


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

删除namenode目录和datanode目录为我解决了这个问题。 因此,我遵循以下程序:

  • 停止服务,即dfs、Thread和mr

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

  • 重新创建namenode和datanode目录

  • 重新启动服务,即dfs、Thread和mr


  • 删除namenode目录和datanode目录为我解决了这个问题。 因此,我遵循以下程序:

  • 停止服务,即dfs、Thread和mr

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

  • 重新创建namenode和datanode目录

  • 重新启动服务,即dfs、Thread和mr


  • 如果在运行状态期间更改了上述属性,则需要群集重新启动,因为更改的属性只有在重新加载后才会反映出来,这相当于重新启动群集

    如果在运行状态期间更改了上述属性,则需要群集重新启动,因为更改的属性只有在重新加载后才会反映出来,这相当于重新启动群集

    请问您是如何确认该文件的复制系数为3的?也,您是在更新复制因子后重新启动服务的,还是从一开始就启动了复制因子1?是从一开始就启动了复制因子1,还是在启动服务后更新了复制因子1?我添加了属性dfs.replication,其值为1,并且从一开始就具有相同的权利。我找不到hdfs启动的任何原因恢复为其默认复制因子。一定是放错地方了。您能否通过运行
    hdfs dfs-ls
    通过命令行确认此文件的复制。第二列表示复制May I know您是如何确认该文件的复制系数为3的?也,您是在更新复制因子后重新启动服务的,还是从一开始就启动了复制因子1?是从一开始就启动了复制因子1,还是在启动服务后更新了复制因子1?我添加了属性dfs.replication,其值为1,并且从一开始就具有相同的权利。我找不到hdfs启动的任何原因恢复为其默认复制因子。一定是放错地方了。您能否通过运行
    hdfs dfs-ls
    通过命令行确认此文件的复制。第二列表示复制
        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();
            }
        }
    
    }