为什么我的 sqoop 导入不能使用 hadoop 加密密码方法?

why my sqoop import is not working with hadoop encrypted password method?

根据一些需求,我使用了hadoop security password encryption的方法对密码进行加密,配合sqoop import使用。下面是讲加密方式的link

http://www.hadoopadmin.co.in/tag/hadoop-security-credential-provider-path/

但是,当我执行以下 sqoop 导入时:-

sqoop import -Dhadoop.security.credentials.provider.path=jceks://<hdfs path to file>/encrypt.jceks --connect 'jdbc:sqlserver://IP:PORT/DB' -–username abd -–password-alias alias_pwd -–table Table_name --hive-import --create-hive-table --hive-table amitesh_db.hive_tbl --target-dir /<path>/hive_test -m 2

我收到以下错误:-

18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Error parsing arguments for import:
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: -–username
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: abd
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: -–password-alias
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: alias_pwd
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: -–table
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: Table_name 
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: --hive-import
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: --create-hive-table
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: --hive-table
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: amitesh_db.hive_tbl 
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: --target-dir
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: /<path>/hive_test
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: -m
18/08/27 08:17:42 ERROR tool.BaseSqoopTool: Unrecognized argument: 2

查看错误的性质,我已经尝试了 sqoop 开关的所有可能排列组合,但其中 none 个有效。

有人可以帮我找出我的错误吗?

谢谢

凭据提供程序 api 在 sqoop invoke 命令中不是必需的。您只需要指定密码别名就可以了。还要记住这一点,在 sqoop 中使用之前,您必须保存密码别名。 hadoop 凭据提供程序 api 仅在 hadoop 2.6 之后可用。