sqoop密码明文问题解决

sqoop密码明文问题解决

今天优化数仓sqoop导入导出时的密码明文问题!参考博客:https://blog.csdn.net/u011489205/article/details/78966716
这里会详细跟大家图文介绍第四种 --password-alias的方式,话不多说开gao!!!

一、简介

Hadoop2.6.0 之后的版本提供了一个API用于将密码存储和应用程序分离。这个API被称为凭证提供的API,并提供了一个新的命令行工具来管理密码及其别名。密码及其别名一起被存储在密码保护的密钥库中。密钥库密码可以通过控制台交互提示输入提供给应用程序或者作为代码中的变量来提供。
一旦在密钥库中存储了密码及其别名,在应用程序中便可以选择使用别名代替实际密码,并在运行时解析别名以使用密码。这样只有别名在配置文件或者命令中是可见的,这样可以防止密码的泄露。Sqoop基于Hadoop提供的这种功能丰富了密码管理功能,只要底层hadoop支持通过使用密钥库来管理密码及其别名,那么通过使用—password-alias 指定密码对应的别名即可

2.图文详解

2.1 创建别名

sqoop密码明文问题解决_第1张图片

hadoop credential create dev181ps -provider jceks://hdfs/nameservice1/conf/ps/dev181ps

命令详解:
create 指定创建的别名,这里指定的别名为dev181ps
-provider jceks://hdfs 指定在hdfs上存密码的位置
然后就是输入密码,确定输入密码的过程了!

2.2 别名使用

这里使用的 hue的oozie调度!下面的xxx个人注释了***是系统自动注释

export
-Dhadoop.security.credential.provider.path=jceks://hdfs/nameservice1/conf/ps/dev181ps
--connect
jdbc:mysql://xxx.xx.xx.xxx:3306/test
--username
xxxx
--password-alias
********
--table
st_keyword
--m
3
--export-dir
/data/isearch/tmp/tmp_ads_seven_days_keyword
--input-fields-terminated-by
\001
--columns
keyword,search_times,spu_amount,creator

图解:
sqoop密码明文问题解决_第2张图片
命令详解:
-Dhadoop.security.credential.provider.path :指定密码的位置 /nameservice1/conf/ps/dev181ps

--password-alias: 指定别名 dev181ps

这样就看不到密码明文了!!!创作不易,你的三连是我最大的动力

你可能感兴趣的:(大数据)