2016-04-05 9 views
2

Ich habe meine Datenbankkennwörter in Hadoop CredentialProvider gespeichert.Sqoop-Job kann nicht mit Hadoop Credential API arbeiten

Sqoop-Import vom Terminal funktioniert einwandfrei, erfolgreich das Kennwort von CredentialProvider abrufen.

sqoop import 
-Dhadoop.security.credential.provider.path=jceks://hdfs/user/vijay/myPassword.jceks 
--table myTable -m 1 --target-dir /user/vijay/output --delete-target-dir --username vijay --password-alias db2-dev-password 

Aber wenn ich die Einrichtung als Sqoop Job versuchen, ist es nicht in der Lage zu erkennen - Dhadoop.security.credential.provider.path Argument.

sqoop job --create my-sqoop-job -- import --table myTable -m 1 --target-dir /user/vijay/output --delete-target-dir --username vijay -Dhadoop.security.credential.provider.path=jceks://hdfs/user/vijay/myPassword.jceks --password-alias 

Es folgt die Fehlermeldung:

14/04/05 13:57:53 ERROR tool.BaseSqoopTool: Error parsing arguments for import: 
14/04/05 13:57:53 ERROR tool.BaseSqoopTool: Unrecognized argument: -Dhadoop.security.credential.provider.path=jceks://hdfs/user/vijay/myPassword.jceks 
14/04/05 13:57:53 ERROR tool.BaseSqoopTool: Unrecognized argument: --password-alias 
14/04/05 13:57:53 ERROR tool.BaseSqoopTool: Unrecognized argument: db2-dev-password 

ich keine besonderen Hinweise in Sqoop User Guide für die Konfiguration von Hadoop Credential API mit Sqoop Job finden konnten.

Wie wird das Problem gelöst?

Antwort

3

Re Positionierung des Sqoop Parameter das Problem zu lösen.

Platzieren Sie die Hadoop-Berechtigung vor dem Sqoop-Jobschlüsselwort.

0

Ihr Sqoop-Jobbefehl ist nicht korrekt, d. H. --password-alias ist unvollständig. unter Befehl in Hadoop-Server
Bitte führen

hadoop credential list -provider jceks://hdfs/user/vijay/myPassword.jceks 

die Ausgabe in-Befehl unter Sqoop Job hinzufügen

sqoop job --create my-sqoop-job -- import --table myTable -m 1 --target-dir /user/vijay/output --delete-target-dir --username vijay -Dhadoop.security.credential.provider.path=jceks://hdfs/user/vijay/myPassword.jceks --password-alias <<output of above command>> 
+0

Hadoop-Anmeldeinformationen speichern das verschlüsselte Kennwort an einem sicheren Ort. Auch nach Angabe des Passwort-Alias ​​existiert ein Problem. –