hdfs - Hadoop HDFS - 错误的 FS : hdfs://0. 0.0.0 :9000. .. 预期:文件:///

标签 hdfs

我遇到以下错误; java.lang.IllegalArgumentException:错误的 FS:hdfs://0.0.0.0:9000/user/hadoop/dataset/data.log,预期:file:///

代码片段集



    Configuration conf = new Configuration();
    conf.addResource(new Path("/home/hadoo/hadoop-2.5.2/etc/hadoop/core-site.xml"));
    conf.addResource(new Path("/home/hadoo/hadoop-2.5.2/etc/hadoop/hdfs-site.xml"));
    FileSystem fs = FileSystem.get(conf);



    Path path = new Path("hdfs://0.0.0.0:9000/user/hadoop/dataset/data.log");
    try {
      if (fs.exist(path)) {
        return true;
      } else {
        return false;
    } catch (IOException e) {
      e.printStackTrace();
    }

但是,如果我从路径中删除前缀“hdfs://0.0.0.0:9000”,就可以了。 你能指导我如何在不改变 hdfs 路径的情况下解决这个问题吗? 仅供引用,Hadoop 服务器和客户端在不同的机器上运行。 即)Hadoop(HDFS):172.xx.xx.247 我的测试客户端:172.xx.xx.236

核心站点.xml

<configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://172.xx.xx.247:9000</value>
 </property>
</configuration>

hdfs-site.xml

<configuration>
 <property>
  <name>dfs.replication</name>
  <value>1</value>
 </property>
 <property>
  <name>dfs.name.dir</name>
  <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
 </property>
 <property>
  <name>dfs.data.dir</name>
  <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
 </property>
</configuration>

核心默认.xml

<property>
 <name>fs.file.impl</name>
 <value>org.apache.hadoop.fs.LocalFileSystem</value>
</property>
<property>
 <name>fs.hdfs.impl</name>
 <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
</property>

最佳答案

您的代码中存在拼写错误。

您的代码: conf.addResource(new Path("/home/hadoo/hadoop-2.5.2/etc/hadoop/core-site.xml"));

尝试: conf.addResource(new Path("/home/hadoop/hadoop-2.5.2/etc/hadoop/core-site.xml"));

关于hdfs - Hadoop HDFS - 错误的 FS : hdfs://0. 0.0.0 :9000. .. 预期:文件:///,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370168/

相关文章:

hadoop - 如何复制到HDFS文件并仍然保留权限?

hadoop - 在Hadoop中预处理和提取数据

hadoop - 在缓存中找不到 Hdfs 委托(delegate) token - Spark 应用程序出错

hadoop - 在hive中的所有数据库中搜索一个表

java - Hadoop HDFS PutMerge 不起作用

bash - 循环遍历 HDFS 目录中的文件

java - 使用 Java API 将 Parquet 格式写入 HDFS,而不使用 Avro 和 MR

hadoop - 使用hadoop hdfs将文件从我的虚拟机上传到另一个虚拟机

hadoop - 名称节点与二级名称节点

hadoop - ffmpeg直接输出到HDFS