sqoop生成秘钥串hadoop导入导出数据

sqoop进行import和export时 需要验证导入数据库的用户和密码,一般密码都是要求数字字母和符号相结合,–password的参数可能不一定能识该密码信息。也有安全部分考虑,sqoop脚本中不能有明文的密码,为此可选择在HDFS上生成秘钥串已密钥库存储模式进行数据的导入和导出。

下面以CDH的hadoop 为例:(名字可以以数据库_IP_用户名来命名)

[root@localhost~] hadoop credential create 数据库_IP_用户名.pwd.alias -provider jceks://hdfs/user/hive/password/数据库_IP_用户名.pwd.jceks

hadoop代码具体示例:

[root@localhost~] hadoop credential create mysql_69_system.pwd.alias -provider jceks://hdfs/user/sqoop/password/mysql_69_system.pwd.jceks
[root@localhost~] 输入密码:****** (密码)
[root@localhost~] 确认密码:****** (密码)
[root@localhost~] successful create

生成完可在相应额HDFS查看生成的文件是否创建成功。
避坑:创建的文件上级目录 hadoop执行用户要有权限才可以,否则会抛异常。

sqoop代码:本次以import为例子

sqoop import \
-Dhadoop.security.credential.provider.path=jceks://hdfs/user/sqoop/password/mysql.password.jceks \
--connect 'jdbc:mysql://md69:3306/system' \
--table order_info  \
--username sqoop \
--password-alias mysql_69_system.pwd.alias \
--delete-target-dir \
--target-dir /sqoop_import/textfile

本次文章到此结束,祝生活越快,原创不宜,忘多多收藏!
本次文章到此结束,祝生活越快,原创不宜,忘多多收藏!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐