sqoop在创建job时如何免密输入

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 //将密码设置成为仅读权限
载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 itcastjob1
bin/sqoop job --delete itcastjob1 此命令删除多余的job

 

猜你喜欢

转载自www.cnblogs.com/xiaobinggun/p/11603010.html