sqoop生成秘钥串hadoop导入导出
·
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
本次文章到此结束,祝生活越快,原创不宜,忘多多收藏!
本次文章到此结束,祝生活越快,原创不宜,忘多多收藏!
更多推荐
所有评论(0)