2.4sqoop密码保护

Apache Sqoop Cookbook 英文版-翻译学习!!

Sqoop 命令

19/05/31 05:49:02 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5.2.2.4.2-2
usage: sqoop COMMAND [ARGS]

Available commands:
  codegen            Generate code to interact with database records
  create-hive-table  Import a table definition into Hive
  eval               Evaluate a SQL statement and display the results
  export             Export an HDFS directory to a database table
  help               List available commands
  import             Import a table from a database to HDFS
  import-all-tables  Import tables from a database to HDFS
  job                Work with saved jobs
  list-databases     List available databases on a server
  list-tables        List available tables in a database
  merge              Merge results of incremental imports
  metastore          Run a standalone Sqoop metastore
  version            Display version information

See 'sqoop help COMMAND' for information on a specific command.

问题

在命令行中输入数据库的密码是不安全的,由于很容被系统中的监听进程获取到。

解决方案

有两种方法来指定密码,处理在命令行中使用 --password 参数外,第一选择是使用 -P 参数,通过这个

参数告诉Sqoop从标准输入中读取密码,但是也可以通过 --password-file命令来告诉sqoop从一个文件中读取密码

以下展示,sqoop从标准输入中读取密码的方法, 注意是大写的P

sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop \
--username sqoop \
--table cities \
-P
c2_4_input_pwd.png

以下展示,通过从文件中读取密码的方式,密码文件需要保持在HDFS文件系统上。

sqoop import  \
    --connect jdbc:mysql://127.0.0.1:3306/sqoop \
    --username sqoop \
    --table cities \
    --password-file sqoop.password

讨论

进一步的深入的讨论每种可用的方法。对于对一种方法使用 -p 参数的方法。在执行任何Sqoop之前将会出现提示
用户输入密码。

c2_4_input_pwd.png

可用在密码提示后输入任意的字符,在确认好后,按下回车键。sqoop不会显示任何字符,以防止他人从屏幕上获取密码信息。所有输入的字符将会被载入并作为密码使用。这种方法十分安全,由于密码并没有存储在存储在其他地方,并
其实直接通过用户输入的。但不好的一面是不易通过脚本进行自动化的执行。

第二种方法,使用参数 --password-file 参数,将会从指定HDFS路径上的文件读取密码,为了使这种方法
安全,需要将这个密码文件存储在你的家目录中,并且对将文件的权限设置为400,这样就没有其他人能够打开文件
获取密码,这种方法可以确保密码安全的同时,并可以通过脚本进行自动化的执行,对于需要安全的自动化执行
sqoop工作流的情况中,这种方法是推荐的。可以使用以下的方法创建密码文件:

echo "my-secret-password" > sqoop.password
hadoop dfs -put sqoop.password /user/$USER/sqoop.password
hadoop dfs -chown 400 /user/$USER/sqoop.password
rm sqoop.password
sqoop import --password-file /user/$USER/sqoop.password ...

更多信息https://blue-shadow.top/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,392评论 0 10
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 6,191评论 0 9
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,053评论 6 13
  • 1、从pgsql中导出整张表到hdfs上 sqoop import \--connect jdbc:postgre...
    lukeyan阅读 2,951评论 0 1
  • [TOC] 最近在研究数据采集相关的知识,需要用到Sqoop把关系型数据库的数据导入到Hive里,这里记录下自己的...
    纳尼2号阅读 19,426评论 11 23

友情链接更多精彩内容