Help Center/ MapReduce Service/ Component Operation Guide (Normal)/ Using MapReduce/ Common Issues About MapReduce/ Why MapReduce Tasks Fails in the Environment with Multiple NameServices?
Updated on 2024-12-11 GMT+08:00

Why MapReduce Tasks Fails in the Environment with Multiple NameServices?

Question

Why MapReduce or YARN tasks using the viewFS function fail to be executed in the environment with multiple NameServices?

Answer

When viewFS is used, only directories mounted to viewFS can be accessed. Therefore, the most possible reason is that the configured path is not on the mount point of viewFS. The following is an example.

<property>
<name>fs.defaultFS</name>
<value>viewfs://ClusterX/</value>
</property>
<property>
<name>fs.viewfs.mounttable.ClusterX.link./folder1</name>
<value>hdfs://NS1/folder1</value>
</property>
<property>
<name>fs.viewfs.mounttable.ClusterX.link./folder2</name>
<value>hdfs://NS2/folder2</value>
</property>

In the MapReduce configuration that depends on HDFS, the mounted directory needs to be used.

Incorrect example:

<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>

The root directory (/) cannot be accessed in viewFS.

Correct example:

<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/folder1/tmp/hadoop-yarn/staging</value>
</property>