как я могу предоставить пароль для SQOOP через OOZIE для подключения к MS-SQL?
я экспортирую информацию из HDFS в MS-SQL с помощью SQOOP. Я запускаю SQOOP через OOZIE. Прямо сейчас я жестко закодировал uid, pwd для соединения jdbc в рабочем процессе OOZIE. Как только я переключусь на prod, я не смогу этого сделать. Каков наилучший способ передачи информации аутентификации в такой ситуации?
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<arg>export</arg>
<arg>--connect</arg>
<arg>jdbc:sqlserver://$sqlServerIP:1433</arg>
<arg>--table</arg>
<arg>tableName</arg>
<arg>--export-dir</arg>
<arg>/user/sqoop/file</arg>
<arg>--username</arg>
<arg>me</arg>
<arg>--password</arg>
<arg>password</arg>
</sqoop>
я мог бы передать их в качестве параметров, таких как $userName, $password. Но фактический uid / pwd все равно будет отображаться в сети oozie приставка.
обновление
Я пробовал два способа (как предложено ниже) сделать это...в VIM я создал pwd, чтобы просто иметь пароль (без пробелов или чего-либо еще). Называется этот дуо.
1) я попытался использовать файловую систему. Однако я получил IOException, говорящее, что файл не существует. После просмотра кода, похоже, что sqoop использует переданный conf для доступа к fs. Поэтому я предполагаю, что когда пробежал через oozie, у него будет только доступ к Файловую систему HDFS.
2) я загрузил файл пароля в случайное место на hdfs. / users / my-name / pwd (pwd-это файл). Теперь он может получить доступ к файлу (так как я не получаю IOException). Однако ему не удается подключиться к SQLServer. Я не уверен, что мне нужно сделать, чтобы заставить его работать?
обновление 2
Я создавал файл пароля следующим образом:echo "pwd" > my.password
Это добавляет EOL в файл my.пароль:
Я перешел на echo -n "pwd" > my.password
и теперь он работает.
1 ответов
Я думаю, что вы можете воспользоваться указанием аргумента --password-file, чтобы Oozie никогда не видел пароль. Взгляните в Sqoop Руководство Пользователя для более подробной информации.