gpt4 book ai didi

hadoop - Hadoop fs -ls输出当前工作目录的文件,而不是hdfs卷的文件

转载 作者:行者123 更新时间:2023-12-02 20:45:59 24 4
gpt4 key购买 nike

已在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.xmlhdfs-site.xml,但没有运气。
/opt/hadoop-hdfs-volume/存在,并已分配给用户组hadoop中的用户hadoop。也是/opt/hadoop/目录(用于bin的东西)。

编辑:
/tmp/hadoop-hadoop/dfs/namehdfs namenode -format命令的运行位置。 /tmp/似乎还保留了我的用户(/tmp/hadoop-dijksterhuis)和hadoop用户目录。

考虑到下面的*-site.xml配置文件,这对我来说似乎很奇怪。

尝试使用dfs目录中的yarn脚本重新启动.shhadoop/sbin/服务。也已经重启。没运气!

core-site.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>

谁有想法?如果需要,我可以提供更多详细信息。

最佳答案

通过another SO answer设法破解了补丁:

$HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop添加到hadoop用户的.bashrc中。

这具有覆盖etc/hadoop-env.sh中的值的效果,这会使namenode始终指向默认的tmp/hadoop-${user-name}目录。
source .bashrc等!问题已解决。

关于hadoop - Hadoop fs -ls输出当前工作目录的文件,而不是hdfs卷的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48012381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com