6

所以我在 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 会自动检测 Hadoop Filesystem in file:///

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

我查看了HDFS thrift server 返回本地 FS 的内容,而不是 HDFS,这是一个类似的问题,但没有解决这个问题。另外,Cloudera Manager cdh4 没有这个问题。

4

2 回答 2

11

默认情况下,Hadoop 将使用本地模式。您可能需要设置fs.default.namehdfs://localhost.localdomain:8020/in $HADOOP_HOME/conf/core-site.xml

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

 <property>
  <name>fs.default.name</name>
  <value>hdfs://localhost.localdomain:8020/</value>
</property>

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

于 2012-09-12T15:42:22.483 回答
0

我们应该指定数据节点数据目录和名称节点元数据目录。

dfs.name.dir,

dfs.namenode.name.dir,

dfs.data.dir,

dfs.datanode.data.dir,

fs.default.name

在 core-site.xml 文件和格式名称节点中。

要格式化 HDFS 名称节点:

hadoop 名称节点格式

输入“是”以确认格式化名称节点。重启 HDFS 服务并部署客户端配置以访问 HDFS。

如果您已经完成了上述步骤。确保正确部署客户端配置并且它指向实际的集群端点。

于 2018-02-06T07:41:47.377 回答