所以我在 CentOS 5 上通过 Cloudera Manager cdh3u5 安装了 Hadoop。当我运行 cmd 时
hadoop fs -ls/
我希望看到 hdfs://localhost.localdomain:8020/的内容
但是,它返回了file:///
的内容现在,不用说,我可以通过
访问我的hdfs://hadoop fs -ls hdfs://localhost.localdomain:8020/
但是当安装Accumulo等其他应用时,accumulo会自动检测file:///中的Hadoop Filesystem
问题是,有没有人遇到过这个问题,你们是如何解决的?
我看过HDFS thrift server returns content of local FS, not HDFS ,这是一个类似的问题,但没有解决这个问题。 另外,我在使用 Cloudera Manager cdh4 时没有遇到这个问题。
最佳答案
默认情况下,Hadoop 将使用本地模式。您可能需要在 $HADOOP_HOME/conf/core-site.xml< 中将
.fs.default.name
设置为 hdfs://localhost.localdomain:8020/
/
为此,您将其添加到 core-site.xml
:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost.localdomain:8020/</value>
</property>
Accumulo 混淆的原因是因为它使用相同的默认配置来确定 HDFS 的位置......并且它默认为 file://
关于hadoop hdfs 指向文件 :///not hdfs://,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391226/