您现在的位置是:主页 > 数据库技术 > 数据库技术
执行Job时怎么省略输入MySQL保存密码
IDCBT2021-12-25【服务器技术】人已围观
简介本篇内容介绍了“执行Job时怎么省略输入MySQL保存密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希
本篇内容介绍了“执行Job时怎么省略输入MySQL保存密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、删除Job
sqoop job \
--delete testjob
二、创建Job
说明:在创建Job时,我们使用--password-file参数,而且非--passowrd。主要原因是在执行Job时使用--password参数将有警告,并且需要输入密码才能执行Job。当我们采用--password-file参数时,执行Job无需输入数据库密码。
sqoop job \
--create testjob \
-- \
import \
--connect jdbc:mysql://192.168.137.130:3306/jepsondb \
--username root \
--password-file /input/sqoop.pwd \
--table abc \
--target-dir /input/abc \
--delete-target-dir \
-m 1
注:import与"--"之间必须要有一个空格
三、执行Job
sqoop job \
--exec testjob
四、创建--password-file参数需要的密码文件(注:sqoop规定密码文件必须放在HDFS之上,并且权限必须为400)
1、操作命令:
echo -n "123456" > sqoop.pwd
hdfs dfs -rm sqoop.pwd /input/sqoop.pwd
hdfs dfs -put sqoop.pwd /input
hdfs dfs -chmod 400 /input/sqoop.pwd
hdfs dfs -ls /input
-r-------- 1 hadoop supergroup 6 2018-01-15 18:38 /input/sqoop.pwd
2、检查sqoop的配置文件(sqoop-site.xml)是否存在以下配置,并且value值为true
<property>
<name>sqoop.metastore.client.record.password</name>
<value>true</value>
<description>If true, allow saved passwords in the metastore.
</description>
</property>
注:password文件的格式不对错误提示如下:
arning: /app/sqoop-1.4.6-cdh6.7.0/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /app/sqoop-1.4.6-cdh6.7.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /app/sqoop-1.4.6-cdh6.7.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
标签:很赞哦! ()