【问题标题】:yarn usercache dir not resolved properly when running an example application运行示例应用程序时,纱线用户缓存目录未正确解析
【发布时间】:2019-07-08 17:00:41
【问题描述】:

我正在使用 Hadoop 3.2.0 并尝试在 docker 容器中运行一个简单的应用程序,并且我在 yarn-site.xml 中都进行了所需的配置更改和 container-executor.cfg 选择 LinuxContainerExecutor 和 docker 运行时。

我在 hortonworks 的一篇博客中使用了分布式 shell 的示例。 https://hortonworks.com/blog/trying-containerized-applications-apache-hadoop-yarn-3-1/

我在这里遇到的问题是,当应用程序提交到 YARN 时,它失败了,原因与目录创建问题有关,并出现以下错误

2019-02-14 20:51:16,450 INFO 分布式shell.Client:得到应用程序 来自 ASM 的报告,appId=2,clientToAMToken=null, appDiagnostics=应用程序 application_1550156488785_0002 失败 2 由于应用程序尝试的 AM 容器的次数_1550156488785_0002_000002 退出并退出代码:-1000 尝试失败。诊断: [2019-02-14 20:51:16.282]申请application_1550156488785_0002 初始化失败(exitCode=20),输出: main : command 提供 0 main :用户是 myuser main :请求的纱线用户是 myuser 创建目录失败 /data/yarn/local/nmPrivate/container_1550156488785_0002_02_000001.tokens/usercache/myuser - 不是目录

我已经在 yarn-site.xml 中配置了 yarn.nodemanager.local-dirs,我可以在 YARN web ui 中看到同样的结果 localhost:8088/conf

<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/yarn/local</value>
    <final>false</final>
    <source>yarn-site.xml</source>
</property>

我不明白为什么它试图在 nmPrivate 目录中创建用户缓存目录。

注意:我已经验证了 myuser 对目录的权限,并且还尝试按照相关帖子中的建议手动清除目录。但没有果实。我没有在任何其他日志中看到有关容器启动失败的任何其他信息。

如何调试为什么用户缓存目录没有正确解析??

非常感谢您对此的任何帮助。

【问题讨论】:

    标签: hadoop-yarn hadoop3


    【解决方案1】:

    意识到这完全是因为启动服务的用户以及服务所在目录的权限。

    确保完成所需的更改后,我可以无缝运行示例和其他应用程序..

    感谢 Hadoop 用户社区的指导。在此处添加链接以获取更多详细信息。

    http://mail-archives.apache.org/mod_mbox/hadoop-user/201902.mbox/browser

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2018-08-10
      • 2012-01-10
      • 2020-03-14
      • 1970-01-01
      相关资源
      最近更新 更多