无法统计 '/user/hadoop/logs/datanode-cluster



我正在尝试运行一个多步骤作业,其中一个步骤作为使用 pyspark/Apache Spark 的脚本。我有一个带有 SLURM 作业调度程序的 4 节点计算机群集,我想知道如何将它们一起运行。目前,我在所有节点上都有 Spark(头节点充当"主节点",其余 3 个计算节点充当"从节点"(和 Hadoop(头节点作为名称节点、辅助名称节点和其余 3 个计算节点作为数据节点(。 但是,当我使用 start-all.sh 在头节点上启动 hadoop 时,我只看到一个数据节点,当我尝试启动它时出现错误

localhost: mv: cannot stat '/user/hadoop/logs/datanode-cluster-n1.out.4': No such file or directory
localhost: mv: cannot stat '/user/hadoop/logs/datanode-cluster-n1.out.3': No such file or directory
localhost: mv: cannot stat '/user/hadoop/logs/datanode-cluster-n1.out.2': No such file or directory
localhost: mv: cannot stat '/user/hadoop/logs/datanode-cluster-n1.out.1': No such file or directory
localhost: mv: cannot stat '/user/hadoop/logs/datanode-cluster-n1.out': No such file or directory

但是,这些文件存在并且似乎是可读/可写的。Spark 启动良好,3 个从节点可以从头节点启动。由于前面提到的错误,当我将作业提交到 SLURM 时,它会抛出上面的错误。我将不胜感激有关此问题的任何建议以及有关我流程架构的任何建议。

编辑 1:Hadoop 配置文件

核心站点.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://cluster-hn:9000</value>
</property>
</configuration>

Hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permission</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/s1/snagaraj/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/s1/snagaraj/hadoop/dataNode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.https.port</name>
<value>50470</value>
<description>The https port where namenode binds</description>
</property>
<property>
<name>dfs.socket.timeout</name>
<value>0</value>
</property>

工人文件

localhost
cluster-n1
cluster-n2
cluster-n3

我一直面临着同样的问题......我可以通过递归地授予 775 对日志目录的权限来修复它......即,就我而言...chmod 775 -R /home/admin/hadoop/logs现在"mv:无法统计... .out':没有这样的文件或目录"错误消失了。

最新更新