sqoop从mysql向hive中导数据,报数据库访问被拒绝。但诡异的是,sqoop的报错是提示连接本机的mysql被拒绝了,并不是提示连接目标数据所在的mysql被拒绝。我的还连了zookeeper,还会提示连接所有的zookeeper主机的mysql被拒绝。日志如最下方。
其实这些问题都是一个原因,就是目标数据所在的mysql限制了zookeeper的主机去访问它。只需要在该mysql上授权即可。
执行
grant all privileges on *.* to hadoop@'%' identified by 'password';
flush privileges;
出错日志:
15/09/17 10:51:30 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'hadoop'@'192.168.1.110' (using password: YES)
java.sql.SQLException: Access denied for user 'hadoop'@'192.168.1.110' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4208)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4140)
at com.mysql.jdbc.M