sqoop的job做到每次免密登录的方式

说明: sqoop执行任务的时候会提示执行密码,这样的话在实际执行的时候会相对来说很麻烦,所有需要建立密码文件并指定–password-file 文件,文件最后还需要存放在hdfs上,权限为400为只读权限

执行过程:

  1. 在本地建立存放密码的文件:
echo -n "mysql中sqoop数据的操作员的密码" >sqoopPWD.pwd

注意: 这个文件里面不得有任何一个空格和换行,只能是一行。否则会报错。

  1. 将刚才存放密码的文件上传到hdfs上去,过程如下:
hdfs dfs -mkdir -p /sqoop/pwd
hdfs dfs -put sqoopPWD.pwd /sqoop/pwd

注意: 再次确认这个文件中不得有任何一个空格和换行,只能是一行。否则会报错。

  1. 修改在hdfs上这个文件的权限为400。
hdfs dfs -chmod 400 /sqoop/pwd/sqoopPWD.pwd
  1. 在sqoop的job中修改参数变量,例如如下:
sqoop job \
--create myjob \
--import 
--connect jdbc:mysql://mysql所在的机器的ip:3306/数据库名称 \
--username 用户名 \
--password-file /sqoop/pwd/sqoopPWD.pwd \

你可能感兴趣的:(大数据,Sqoop)