更新时间:2022-02-22 GMT+08:00
多个NameService环境下,运行MapReduce任务失败
问题
多个NameService环境下,运行使用viewFS功能的MapReduce或YARN任务失败。
回答
当使用viewFS时,只有在viewFS中挂载的目录才能被访问到。所以最可能的原因是配置的路径没有在viewFS的挂载点上。例如:
<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>
对于依赖HDFS的MR配置中,需要使用已挂载的目录。
错误示例:
<property> <name>yarn.app.mapreduce.am.staging-dir</name> <value>/tmp/hadoop-yarn/staging</value> </property>
根目录(/)在viewFS中是无法访问的。
正确示例:
<property> <name>yarn.app.mapreduce.am.staging-dir</name> <value>/folder1/tmp/hadoop-yarn/staging</value> </property>
父主题: MapReduce常见问题