gpt4 book ai didi

bash - Oozie Shell Action无法运行Docker容器

转载 作者:行者123 更新时间:2023-12-02 18:49:34 26 4
gpt4 key购买 nike

在具有Hadoop 3.0.0-cdh6.2.0的群集上,我试图通过Oozie工作流程的Shell Action运行Docker容器。

Docker已正确安装在集群的每个节点上。如果我通过ssh连接到节点,然后尝试启动Docker命令,则一切正常。
我想安排与Oozie可以手动完成的相同的事情,让它在集群的节点上打开 shell 并运行一些Docker命令。

如果我尝试启动一个简单的Docker命令,例如
在Oozie启动的shell Action 或bash脚本中的docker psdocker run hello-world,该作业失败,我可以从应用程序日志中检索到的错误是:

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.oozie.action.hadoop.LauncherAM.runActionMain(LauncherAM.java:410)
at org.apache.oozie.action.hadoop.LauncherAM.access$300(LauncherAM.java:55)
at org.apache.oozie.action.hadoop.LauncherAM$2.run(LauncherAM.java:223)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875)
at org.apache.oozie.action.hadoop.LauncherAM.run(LauncherAM.java:217)
at org.apache.oozie.action.hadoop.LauncherAM$1.run(LauncherAM.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875)
at org.apache.oozie.action.hadoop.LauncherAM.main(LauncherAM.java:141)
Caused by: org.apache.oozie.action.hadoop.LauncherMainException
at org.apache.oozie.action.hadoop.ShellMain.run(ShellMain.java:76)
at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:104)
at org.apache.oozie.action.hadoop.ShellMain.main(ShellMain.java:63)
... 16 more
Failing Oozie Launcher, Main Class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]


我尝试在Stdoutput中给出预期结果的唯一命令是 docker versiondocker help
我无法弄清楚为什么在Oozie启动时无法在 shell 上手动执行的操作不起作用。

最佳答案

该脚本以oozie用户身份运行。用户Oozie可能没有运行docker操作的权限。将oozie添加到docker组。

关于bash - Oozie Shell Action无法运行Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58610238/

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