2013-10-09 3 views
8

Oozie SSH Действие Выпуск:

Выпуск: Мы пытаемся запустить несколько команд на конкретном хосте нашего кластера. Мы выбрали SSH Action для того же самого. Некоторое время мы столкнулись с этой проблемой SSH. Что может быть настоящей проблемой здесь? Пожалуйста, укажите мне решение.Oozie SSH Действие

журналы:

AUTH_FAILED: Не в состоянии выполнить операцию [SSH -o PasswordAuthentication = нет -o KbdInteractiveDevices = нет -o StrictHostKeyChecking = нет -o ConnectTimeout = 20 [email protected] MkDir -p oozie -oozi/0000000-131008185935754-oozie-oozi-W/action1 - ssh /] | ErrorStream: Warning: Постоянно добавленный хост, 1.2.3.4 (RSA) в список известных хостов. Разрешение отклонено (publickey, gssapi-keyex, gssapi-with-mic, password).

org.apache.oozie.action.ActionExecutorException: AUTH_FAILED: Не удалось выполнить операцию [SSH -o PasswordAuthentication = нет -o KbdInteractiveDevices = нет -o StrictHostKeyChecking = нет -o ConnectTimeout = 20 [email protected] MKDIR - p oozie-oozi/0000000-131008185935754-oozie-oozi-W/action1 - ssh /] | ErrorStream: Предупреждение: Постоянно добавлено 1.2.3.4, 192.168.34.208 (RSA) в список известных хостов. Разрешение отклонено (publickey, gssapi-keyex, gssapi-with-mic, password).

at org.apache.oozie.action.ssh.SshActionExecutor.execute(SshActionExecutor.java:589) 
at org.apache.oozie.action.ssh.SshActionExecutor.start(SshActionExecutor.java:204) 
at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:211) 
at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:59) 
at org.apache.oozie.command.XCommand.call(XCommand.java:277) 
at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:326) 
at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:255) 
at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

Вызванный: java.io.IOException: не может выполнить операцию [SSH -o PasswordAuthentication = нет -o KbdInteractiveDevices = нет -o StrictHostKeyChecking = нет -o ConnectTimeout = 20 [email protected] MKDIR - p oozie-oozi/0000000-131008185935754-oozie-oozi-W/action1 - ssh /] | ErrorStream: Warning: Постоянно добавлен «1.2.3.4.1.2.3.4» (RSA) в список известных хостов. Разрешение отклонено (publickey, gssapi-keyex, gssapi-with-mic, password).

at org.apache.oozie.action.ssh.SshActionExecutor.executeCommand(SshActionExecutor.java:340) 
at org.apache.oozie.action.ssh.SshActionExecutor.setupRemote(SshActionExecutor.java:373) 
at org.apache.oozie.action.ssh.SshActionExecutor$1.call(SshActionExecutor.java:206) 
at org.apache.oozie.action.ssh.SshActionExecutor$1.call(SshActionExecutor.java:204) 
at org.apache.oozie.action.ssh.SshActionExecutor.execute(SshActionExecutor.java:547) 
... 10 more 

2013-10-09 12: 48: 25982 WARN org.apache.oozie.command.wf.ActionStartXCommand: USER [пользователь] ГРУППА [-] ЗНАК [] APP [Тест] РАБОТА [0000000-131008185935754 -oozie-oozi-W] ACTION [0000000-131008185935754-oozie-oozi-W @ action1] Приостановление рабочего процесса Идентификатор задания = 0000000-131008185935754-oozie-oozi-W 2013-10-09 12: 48: 27,204 WARN org.apache .oozie.command.coord.CoordActionUpdateXCommand: USER [user] GROUP [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie-oozi-W] ACTION [0000000-131008185935754-oozie-oozi-W @ action1] E1100: Предварительное условие команды не выполняется перед выполнением, [, действие координирования равно null], Код ошибки: E1100 2013-10-09 12: 59: 57,477 INFO org.apache.oozie.command.wf.KillXCommand: USER [пользователь] GROUP [-] TOKEN [] APP [Test] JOB [0000000-13 1008185935754-oozie-oozi-W] ДЕЙСТВИЕ [-] НАЧАЛО РАБОЧЕЙ РАБОТЫKillXCommand для jobId = 0000000-131008185935754-oozie-oozi-W 2013-10-09 12: 59: 57,685 WARN org.apache.oozie.command.coord.CoordActionUpdateXCommand: USER [user] GROUP [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie-oozi-W] ACTION [-] E1100: Предварительное условие команды не выполняется перед выполнением, [, действие координации равно null], Ошибка Код: E1100 2013-10-09 12: 59: 57,686 INFO org.apache.oozie.command.wf.KillXCommand: USER [пользователь] ГРУППА [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie- oozi-W] ACTION [-] ENDED WorkflowKillXCommand для jobId = 0000000-131008185935754-oozie-oozi-W 2013-10-09 13: 41: 32,654 WARN org.apache.oozie.command.wf.KillXCommand: USER [пользователь] GROUP [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie-oozi-W] ACTION [-] E0725: экземпляр Workflow не может быть убит, 0000000-131008185935754-oozie-oozi-W, код ошибки: E0725 2013-10-09 13: 41: 45,199 WARN org.apache.oozie.command.wf.KillXCommand: USER [пользователь] ГРУППА [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie-oozi-W ] ACTION [-] E0725: экземпляр Workflow не может быть убит, 0000000-131008185935754-oozie-oozi-W, Код ошибки: E0725 2013-10-09 13: 42: 04,869 WARN org.apache.oozie.command.wf.ResumeXCommand: USER [user] GROUP [-] TOKEN [] APP [Test] JOB [0000000-131008185935754-oozie-oozi-W] ACTION [-] E1100: Предварительное условие команды не выполняется перед выполнением, [статус рабочего процесса KILLED is not SUSPENDED], Код ошибки: E1100 2013-10-09 13: 45: 56,357 WARN org.apache.oozie.command.wf.KillXCommand: USER [пользователь] ГРУППА [-] TOKEN [] APP [Test] JOB [0000000- 131008185935754-oozie-oozi-W] ACTION [-] E0725: Workflow экземпляр не может быть убит, 0000000-131008185935754-oozie-oozi-W, Код ошибки: E0725

Приближенные пытался:

  1. Без пароля SSH
  2. прокси пользователя установить
  3. Предоставление разрешения на требуемые папки

Спасибо;

Kasa.

+0

облицовочный точно такой же вопрос – learner

ответ

9

Я просто ударил аналогичную проблему. У меня был случай, когда я мог бы работать, как USER:

ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 [email protected] mkdir -p oozie-oozi/0000000-131008185935754-oozie-oozi-W/action1--ssh/ 

вручную в командной строке, и она работала, но при запуске через Oozie ПОЛЬЗОВАТЕЛЕМ это не удалось.

Причина: в моем случае это не удалось - я установил без пароля ssh между USER на сервере oozie и USER на удаленном компьютере. То, что нужно сделать, - это установить без пароля ssh между oozie на сервере oozie и USER на удаленном компьютере. Другими словами, su to oozie на сервере oozie и запустить указанную команду вручную. Если это не удастся, в Оози это не удастся. Если он работает, то он должен работать в Oozie (предполагая, что все остальное правильно, как права Dir и т.д.)

Посмотрите на какого пользователя сервер oozie работает как:

ps -ef | grep oozie 

Whatever пользователя это значит, что ssh без пароля ssh используется USER на удаленном компьютере.

+0

Спасибо @ quux00. У меня было так много проблем, когда я работал на cloudera VM до тех пор, пока не нашел этот пост. Но когда я пытаюсь настроить ключи ssh, он запрашивает пароль пользователя «oozie». можете ли вы дать мне знать, что такое пароль для «oozie» на cloudera VM. – SrinivasR

+0

Я долгое время не использовал Cloudera VM, но у вас, вероятно, есть привилегии root, поэтому вы должны иметь возможность sudo root и делать это. – quux00

1

Что бы ни сказал quux00, это правильно. Я просто добавляю к этому несколько моментов. Поскольку команда ssh в ssh-action будет выполняться пользователем oozie, тогда вам нужно будет установить oozie в качестве пользователя bash.

Для этого вам необходимо изменить файл/etc/passwd на всех узлах кластера. Найдите значение ниже (похожее на него) в файле/etc/passwd.

oozie:x:488:487:Oozie User:/var/lib/oozie:/bin/false 

и изменить его на

oozie:x:488:487:Oozie User:/var/lib/oozie:/bin/bash 

, который будет на самом деле сделать oozie пользователь пользователь Баш. Затем выполните аутентификацию без пароля между пользователем oozie и любым другим пользователем, который вы хотите на любой из хост-машин.

И затем попытайтесь снова запустить работу oozie. И дайте мне знать, если это сработает. Надеюсь, поможет!!!

0

Это очень сложная проблема, и я мог ее только взломать. Я не был удовлетворен ответом, заданным здесь, моей моей версией. Вслед потерпело неудачу для меня (я мог видеть в журналах)

ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 [email protected] mkdir -p oozie-oozi/0000067-130808155814753-oozie-oozi-W/mysshjob--ssh/ 

Но если попробовал ту же команду, но удалены KbdInteractiveDevices = нет или изменить KbdInteractiveDevices = Пэм он работал

ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=pam -o StrictHostKeyChecking=no -o ConnectTimeout=20 [email protected] mkdir -p oozie-oozi/0000067-130808155814753-oozie-oozi-W/mysshjob--ssh/ 

Во всяком случае, я думаю, что был какой-то проблема со старым ключом SSH, поэтому я попытался следующее, и она работает

$ ssh-keygen -t dsa 
$ cat ~/.ssh/id_dsa.pub > ~/.ssh/authorized_keys2 
-1

После выполнения всех выше предложение

oozie:x:488:487:Oozie User:/var/lib/oozie:/bin/false 

и изменить его на

oozie:x:488:487:Oozie User:/var/lib/oozie:/bin/bash 

Просто попробуйте выполнить следующие действия:

  1. Создать беспарольные связи использования ниже процесса:

    sudo su - oozie 
    [email protected]: ssh-keygen -t dsa 
    

    скопировать общественности ключ, сгенерированный на ваш локальный удаленный сервер как [email protected]

  2. попробовать ssh [email protected], вы войдете в удаленный без ошибок

  3. перейти к Хюэ и выберите действие SSH и дайте команду BASH как bash -x yourscript параметра
  4. сохранить
  5. представить
Смежные вопросы