データベースパスワードをHadoop CredentialProviderに保存しました。SqoopジョブがHadoop Credential APIで動作しない
端末からのSqoopインポートがうまくいき、CredentialProviderからパスワードを正常に取得しています。
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
しかし、私はSqoopジョブとしてセットアップしようとすると、それを認識することができません - Dhadoop.security.credential.provider.path
引数。
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
次のエラーメッセージです:
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
私はSqoop仕事とHadoopの資格のAPIを構成するためのSqoop User Guideにおける特別な指示を見つけることができませんでした。
この問題を解決するにはどうすればよいですか?
Hadoopクレデンシャルは、暗号化されたパスワードを安全な場所に保存します。パスワードエイリアスを提供した後も、問題が存在します。 –