美文网首页
2.4sqoop密码保护

2.4sqoop密码保护

作者: NEO_X | 来源:发表于2019-05-31 08:54 被阅读0次

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/

相关文章

网友评论

      本文标题:2.4sqoop密码保护

      本文链接:https://www.haomeiwen.com/subject/itbitctx.html