Проблема действия оболочки Oozie при создании каталогов

Я не могу добавить / удалить любые файлы или каталоги на HDFS из сценария оболочки, который я выполняю из Oozie workflow.
Имя пользователя «scitest» и путь hdfs, который я пытаюсь изменить / добавить / удалить
/ user / scitest/.

В скрипте оболочки я пытаюсь удалить папку с именем test123456 из пути / user/scitest/.

————— Ошибка из журнала oozie——————

429737-oozie-oozi-W@shell-node] Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
2016-12-27 05:04:25,553  INFO ActionEndXCommand:520 - SERVER[vscihadoopvm2.manhdev.com] USER[scitest] GROUP[-] TOKEN[] APP[shell.workflow] JOB[0000041-161208225429737-oozie-oozi-W] ACTION[0000041-161208225429737-oozie-oozi-W@shell-node] ERROR is considered as FAILED for SLA

——— shell-script(sample.sh) содержание———-

#!/bin/bash
echo "`date` hi" > output.log
hadoop fs -mkdir test123456

——-работа.свойства———

nameNode=hdfs://vscihadoopvm1.manhdev.com:8020
jobTracker=vscihadoopvm2.manhdev.com:8050
master=yarn-cluster
#user.name=yarn
queueName=default
examplesRoot=oozietest
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}

—рабочий.XML—

<?xml version="1.0" encoding="UTF-8"?>
<workflow-app  name="shell.workflow">
<start to="shell-node"/>
  <action name="shell-node">
    <shell >
      <job-tracker>${jobTracker}</job-tracker>
      <name-node>${nameNode}</name-node>
      <configuration>
        <property>
          <name>mapred.job.queue.name</name>
          <value>${queueName}</value>
        </property>
      </configuration>
      <exec>sample.sh</exec>
      <file>sample.sh#sample.sh</file>
    </shell>
    <ok to="end"/>
    <error to="kill"/>
  </action>
  <kill name="kill">
    <message>Error in Shell.Please refer the Oozie Logs</message>
  </kill>
  <end name="end"/>
</workflow-app>

1 ответ

  1. @Abhiroy, возможно, будет лучше, если вы сможете проверить, с каким пользователем выполняется ваше действие oozie. вы можете просто поместить ‘ id ‘ без кавычек в вашем примере сценария оболочки и запустить рабочий процесс. Затем можно отследить журналы заданий oozie, чтобы увидеть executer контейнера для примера сценария, который использует oozie. Затем мы можем начать трассировку, если у вас есть какие-либо проблемы с разрешениями.