sqoop job省略输入mysql密码

sqoop在创建job时,使用--password-file参数,可以避免输入mysql密码,如果使用--password将出现警告,并且每次都要手动输入密码才能执行job,sqoop规定密码文件必须存放在HDFS上,并且权限必须是400,下面介绍如何创建密码文件执行job,使用的sqoop版本是版本是sqoop-1.4.6-cdh5.7.0。

  • 创建密码文件并放置到HDFS

假设我的mysql密码是123456:

echo -n "123456" > 118mysql.pwd
hadoop fs -rm /input/sqoop/pwd/118mysql.pwd
hadoop fs -put 118mysql.pwd /input/sqoop/pwd/
hadoop fs -chmod 400 /input/sqoop/pwd/118mysql.pwd

完成后可以通过hadoop fs -ls /input/sqoop/pwd查看:

-r--------   3 root supergroup          6 2018-09-17 14:36 /input/sqoop/pwd/118mysql.pwd
  • 检查sqoop的sqoop-site.xml是否存在如下配置:
<property>
    <name>sqoop.metastore.client.record.password</name>
    <value>true</value>
    <description>If true, allow saved passwords in the metastore.
    </description>
</property>
  • 创建sqoop job

在创建job时,使用--password-file参数

sqoop job --create torderincrementjob -- import \
 --connect jdbc:mysql://172.16.*.*:3306/*?useCursorFetch=true \
 --username * \
 --password-file /input/sqoop/pwd/109mysql.pwd \
 --target-dir /mysqldb/t_order \
 --table t_order \
 --fields-terminated-by "\t" \
 --lines-terminated-by "\n" \
 --null-string '\\N' \
 --null-non-string '\\N' \
 --incremental append \
 --check-column id \
 --last-value 1281 \
 -m 1
  • 执行job

通过命令sqoop job -exec torderincrementjob执行job

如果password文件格式错误会有如下提示:
ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'root'@'spark220' (using password: YES)

ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1652)

推荐阅读更多精彩内容

  • 上节课学习了Hadoop集群测试,这节课我们一起学习一下Sqoop,Sqoop是专门用来迁移数据的,它可以把数据库...
    文子轩阅读 5,311评论 1 10
  • 1/列出mysql数据库中的所有数据库sqoop list-databases -connect jdbc:mys...
    时待吾阅读 2,291评论 1 5
  • 1/列出mysql数据库中的所有数据库sqoop list-databases -connect jdbc:mys...
    时待吾阅读 909评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,910评论 18 137
  • 环境准备:h15机器,mysql使用h15的,不用h17的mysql 配置hive的环境变量和hadoop的环境变...
    三万_chenbing阅读 1,653评论 0 1
  • 母亲开门进来,手中提了不少菜,从她手中接菜的同时,她替来三枝桂花,淡淡的桂花香开始在房间中蔓延...... 母亲喜...
    走向阳光的自己阅读 158评论 1 2
  • 2018年9月8日,在这个秋高气爽的早晨,我有幸在太原参加了人生中的第二个半程马拉松。相比第一次参加,我有...
    运动绅士阅读 196评论 2 3
  • 全凭记忆了,阿弥陀佛!! ##shell命令 #文件权限 d rwx rwx rwx 1.第一个字符代表文件类型 ...
    安宗奇阅读 146评论 0 0