千家信息网

sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章主要讲解了"sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"sqoop从mys
千家信息网最后更新 2025年02月24日sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办

这篇文章主要讲解了"sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办"吧!

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.MysqlIO.checkErrorPacket(MysqlIO.java:925)        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1747)        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1287)        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2494)        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2527)        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2309)        at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:834)        at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)        at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:419)        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)        at java.sql.DriverManager.getConnection(DriverManager.java:571)        at java.sql.DriverManager.getConnection(DriverManager.java:215)        at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:885)        at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)        at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:744)        at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:767)        at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270)        at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241)        at org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:234)        at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304)        at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833)        at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645)        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107)        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)15/09/17 10:51:30 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter        at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651)        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107)        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

感谢各位的阅读,以上就是"sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办"的内容了,经过本文的学习后,相信大家对sqoop从mysql向hive中导数据时报数据库访问被拒绝怎么办这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0