sqoop在创建job时,规定密码文件必须存放在HDFS上,并且权限必须设置成为是400。
echo -n "hadoop" > itcastmysql.pwd
hadoop fs -mkdir -p /input/sqoop/pwd/
hadoop fs -put itcastmysql.pwd /input/sqoop/pwd/
hadoop fs -chmod 400 /input/sqoop/pwd/itcastmysql.pwd //将密码设置成为仅读权限
<property>
<name>sqoop.metastore.client.record.password</name>
<value>true</value>
<description>If true, allow saved passwords in the metastore.
</description>
</property>
在创建job时,使用--password-file参数
bin/sqoop job --create itcastjob1 -- import --connect jdbc:mysql://node03:3306/userdb \
--username root \
--password-file /input/sqoop/pwd/itcastmysql.pwd \
--target-dir /sqoopresult666 \
--table emp --m 1
?
通过命令
bin/sqoop job -exec itcastjob1
bin/sqoop job --delete itcastjob1 此命令删除多余的job
原文:https://www.cnblogs.com/xiaobinggun/p/11603010.html