oozie shell操作无法运行docker容器

agyaoht7  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(574)

在hadoop3.0.0-cdh6.2.0的集群上,我试图通过oozie工作流的shell操作来运行docker容器。
docker正确安装在集群的每个节点上。如果我通过ssh连接到一个节点并尝试启动docker命令,那么一切都正常工作。我想安排我可以用oozie手动完成的事情,让它在集群的一个节点上打开一个shell并运行一些docker命令。
如果我尝试启动一个简单的docker命令 docker ps 或者 docker run hello-world 在shell操作或oozie启动的bash脚本中,作业失败,我可以从应用程序日志中检索到的错误是:

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 version 以及 docker help . 我不明白为什么我可以在shell上手动执行的操作在oozie启动时不起作用。

k75qkfdt

k75qkfdt1#

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

相关问题