sqoop在创建job时,规定密码文件必须存放在HDFS上,并且权限必须设置成为是400。
echo -n "hadoop" > itcastmysql.pwdhadoop fs -mkdir -p /input/sqoop/pwd/hadoop fs -put itcastmysql.pwd /input/sqoop/pwd/hadoop fs -chmod 400 /input/sqoop/pwd/itcastmysql.pwd //将密码设置成为仅读权限
载sqoop/conf幕布下的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参数
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
-
执行job
通过命令
bin/sqoop job -exec itcastjob1bin/sqoop job --delete itcastjob1 此命令删除多余的job