sqoop 脚本密码管理

1:背景

生产上很多sqoop脚本的密码都是铭文,很不安全,找了一些帖子,自己尝试了下,记录下细节,使用的方式是将密码存在hdfs上然后在脚本里用别名来替代。

2:正文

第一步:创建密码对应的别名。

bash 复制代码
hadoop credential create  mytest(你的密码别名,随便起就好,或者根据公司的规范来) -provider jceks://hdfs/tmp/test1011 


注意:运行上述命令的时候会提示让你输入密码:直接输入就好了,这个密码是你的数据库的真实密码


解析下:
 jceks://hdfs/tmp/test1011  这里都是自由发挥,或者根据公司的规范来


1:jceks://hdfs  是固定的 因为我们放到hdfs 如果说放到本地就换为file,推荐放到hdfs
2:/tmp/test1011 这部分是hdfs上的文件,不用事先创建,没有的话会自动创建

第二步:直接使用就好了

bash 复制代码
sqoop import -Dhadoop.security.credential.provider.path=jceks://hdfs/tmp/test1011  --connect 'jdbc:mysql://xxx.xxx.20.9:3306/xxx' --username mdreadonly --password-alias 就是你上述步骤create后面那个别名 --table xxx_opportunity --target-dir /tmp/textfiles


解析下:

1: -Dhadoop.security.credential.provider.path=   这些都是固定的 
2: jceks://hdfs/tmp/test1011  这个是第一步里的内容,就是你的真实密码存放的位置
3: --password-alias 这里就是你的密码的别名

我刚开始想走个捷径:我没有把import加上,运行的 list-database这个指令,来测试这个方式是否类型,一直报错:

bash 复制代码
sqoop  -Dhadoop.security.credential.provider.path=jceks://hdfs/tmp/test1011 list-databases --connect 'jdbc:mysql://xxxxx:3306/bss' --username mdreadonly --password-alias mytest

这样不行的

报错如下:

归根结底是姿势不对,就得吧import这些都给加上才可以。

相关推荐
励志成为糕手7 小时前
Hive数据仓库:架构原理与实践指南
大数据·数据仓库·hive·1024程序员节·hql
B站_计算机毕业设计之家8 小时前
Spark微博舆情分析系统 情感分析 爬虫 Hadoop和Hive 贴吧数据 双平台 讲解视频 大数据 Hadoop ✅
大数据·hadoop·爬虫·python·数据分析·1024程序员节·舆情分析
大叔_爱编程12 小时前
基于随机森林算法的Boss直聘数据分析及可视化-hadoop+django+spider
hadoop·django·1024程序员节·spider·随机森林算法·boss直聘
毕设源码-赖学姐13 小时前
【开题答辩全过程】以基于Hadoop的电商数据分析系统为例,包含答辩的问题和答案
大数据·hadoop·分布式·1024程序员节
阿什么名字不会重复呢1 天前
Hadoop报错 Couldn‘t find datanode to read file from. Forbidden
大数据·hadoop·分布式
通往曙光的路上2 天前
day17_cookie_webstorage
数据仓库·hive·hadoop
B站_计算机毕业设计之家3 天前
python股票交易数据管理系统 金融数据 分析可视化 Django框架 爬虫技术 大数据技术 Hadoop spark(源码)✅
大数据·hadoop·python·金融·spark·股票·推荐算法
随心............4 天前
sqoop采集完成后导致hdfs数据与Oracle数据量不符的问题。怎么解决?
hive·hadoop·sqoop
随心............4 天前
yarn面试题
大数据·hive·spark
Aurora_eye5 天前
记录之Ubuntu22.4虚拟机及hadoop为分布式安装
大数据·hadoop·分布式