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?
Hadoop-Anmeldeinformationen speichern das verschlüsselte Kennwort an einem sicheren Ort. Auch nach Angabe des Passwort-Alias existiert ein Problem. –