sqoop import \
--connect jdbc:mysql://hadoop01:3306/userdb \
--username root \
--password 123123 \
--target-dir /sqoopresult \
--table emp \
--num-mappers 1
在Hadoop集群下进行sqoop数据迁移,将MySQL表数据导入HDFS中具体指令如上
然后报如下错误:
ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'root'@'mini1' (using password: YES)
老师说是因为远程登录授权的原因解决办法如下:
进入MySQL客户端进行授权:
grant all privileges on *.* to root@'hadoop01' identified by 'root';
flush privileges;
grant all privileges on *.* to root@'hadoop02' identified by 'root';
flush privileges;
grant all privileges on *.* to root@'hadoop03' identified by 'root';
flush privileges;
至此应该可以正常导入HDFS中了,然而我的却还一直报上面的错,我又看到一篇文章说“这个问题是因为root在user表对应多个密码,修改root密码为123456就可以了”,按照方法做了如下操作: