【发布时间】:2017-12-28 18:15:55
【问题描述】:
已在 OpenSuse Tumbleweed 20170703 上使用 Hadoop 2.8.2 设置了单个伪分布式节点 (localhost)。Java 版本为 1.8.0_151。一般来说,它似乎设置正确。我可以格式化namenode,没有错误等。
但是,当我尝试 hadoop fs -ls 时,会返回当前工作目录中的文件/目录,而不是返回 hdfs 卷文件的预期行为(目前应该什么都没有)。
最初关注this guide for CentOS(根据需要进行更改)和Apache Hadoop guide。
我假设这是一个配置问题,但我不明白为什么会这样。我按照下面的方法玩过core-site.xml 和hdfs-site.xml,但没有运气。
/opt/hadoop-hdfs-volume/ 存在并分配给用户组hadoop 中的用户hadoop。 /opt/hadoop/ 目录(用于 bin 内容)也是如此。
编辑:
/tmp/hadoop-hadoop/dfs/name 是 hdfs namenode -format 命令运行的地方。 /tmp/ 似乎也包含我的用户 (/tmp/hadoop-dijksterhuis) 和 hadoop 用户目录。
考虑到下面的*-site.xml 配置文件,这对我来说似乎很奇怪。
已尝试使用hadoop/sbin/ 目录中的.sh 脚本重新启动dfs 和yarn 服务。也重启了。运气不好!
核心站点.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-hdfs-volume/${user.name}</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>${hadoop.tmp.dir}/dfs/data</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>${hadoop.tmp.dir}/dfs/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
有人有什么想法吗?如果需要,我可以提供更多详细信息。
【问题讨论】: