hadoop hdfs指向file:///而不是hdfs://


春风助手
2025-02-25 02:01:29 (4天前)

所以我在CentOS 5上通过Cloudera Manager cdh3u5安装了Hadoop。

hadoop fs -ls /

我希望看到hdfs://localhost.localdomain:8020 /的内容

但是,它已返回file:///的内容

现在,这个不用说,我可以使用HDFS://通过

hadoop fs -ls hdfs://localhost.localdomain:8020/

但是,当要安装其他应用程序(例如Accumulo)时,Accumulo会自动检测file:///中的Hadoop Filesystem。

问题是,有人遇到过这个问题,您如何解决?

我看了一下HDFS节俭服务器返回的是本地FS的内容,不是HDFS,这是一个类似的问题,https://stackoverflow.com/questions/10331992/hdfs-thrift-server-returns-content-of-local-fs-not-hdfs 但是没有解决此问题。另外,Cloudera Manager cdh4并没有出现此问题。

2 条回复
  1. 1# 只怕再见是故人 | 2020-08-14 12-05

    默认情况下,Hadoop将使用本地模式。您可能需要设置fs.default.name为

    1. hdfs://localhost.localdomain:8020/in $HADOOP_HOME/conf/core-site.xml。

    为此,请将其添加到core-site.xml:

    1. <property>
    2. <name>fs.default.name</name>
    3. <value>hdfs://localhost.localdomain:8020/</value>
    4. </property>

    Accumulo感到困惑的原因是因为它使用相同的默认配置来确定HDFS的位置…并且默认为 file://

登录 后才能参与评论