Рабочий процесс Oozie с действием Hive завершился неудачно, возникла проблема с разрешением

У нас есть кластер Hadoop, на котором работает HDP 2.2.0.0.

У нас есть еще один кластер Hadoop, на котором работает HDP 2.2.4.2.

У нас есть рабочий процесс Oozie с действием Hive, который отлично работает в первом кластере с HDP 2.2.0.0.

Но тот же самый рабочий процесс не работает во втором кластере с HDP 2.2.4.2 с этой ошибкой:

38098 [main] INFO  org.apache.hadoop.hive.ql.Driver  - Starting task [Stage-4:MOVE] in serial mode
2015-07-15 16:23:22,810 INFO  [main] ql.Driver (Driver.java:launchTask(1604)) - Starting task [Stage-4:MOVE] in serial mode
38099 [main] INFO  org.apache.hadoop.hive.ql.exec.Task  - Moving data to: hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000 from hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002
2015-07-15 16:23:22,811 INFO  [main] exec.Task (SessionState.java:printInfo(824)) - Moving data to: hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000 from hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002
40129 [main] ERROR hive.ql.metadata.Hive  - Unable to move using hadoop distcp,  source hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002 to destination hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000 using command: /usr/bin/hadoop distcp  hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002 hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000
2015-07-15 16:23:24,841 ERROR [main] metadata.Hive (Hive.java:renameFile(2444)) - Unable to move using hadoop distcp,  source hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002 to destination hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000 using command: /usr/bin/hadoop distcp  hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10002 hdfs://master-1.local:8020/tmp/hive/cloudfeeds/00f8edac-8b5a-4dfa-9115-5a915acabee0/hive_2015-07-15_16-22-49_023_841777402951025944-1/-ext-10000
40129 [main] ERROR hive.ql.metadata.Hive  - Exit value for hadoop distcp command 255

И дальше в журнале у нас есть такая ошибка:

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=yarn, access=EXECUTE, inode="/tmp/hive/cloudfeeds":cloudfeeds:hdfs:drwx------

Я проверил разрешение каталога выше: / tmp / hive / cloudfeeds. Оба кластера имеют одинаковое разрешение 700 и облачные каналы владельца.

Я проверил карту уменьшения журналов заданий, и у обоих кластеров есть:

user.name=yarn
mapreduce.job.user.name=cloudfeeds

Я не хочу просто отключать разрешения dfs. Я также не хочу давать разрешение 777 для каталога / tmp / hive / cloudfeeds, что, я уверен, приведет к успешному выполнению задания.

Есть идеи, как мне отладить это и, что более важно, как решить проблему?


person Shinta Smith    schedule 15.07.2015    source источник
comment
Вы пытались установить разрешения для / tmp / hive / cloudfeeds на 770 и добавить пользователя yarn в группу hdfs?   -  person cjackson    schedule 16.07.2015


Ответы (1)


Я решил проблему с разрешением, добавив это в hive-site.xml:

  <property>
    <name>hive.scratch.dir.permission</name>
    <value>777</value>
    <description>The permission for the user specific scratch directories that get created.</description>
  </property>
person Shinta Smith    schedule 16.07.2015