目录
基于Hadoop完全分布式部署Hadoop-3.1.3 sqoop-1.4.7测试
sqoop list-databases --connect jdbc:mysql://192.168.223.141:3306/ --username root --password root
sqoop list-databases --connect jdbc:mysql://slave01:3306/ --username root --password root
基于Hadoop完全分布式部署Hadoop-3.1.3 sqoop-1.4.7测试
测试命令如下:sqoop list-databases --connect jdbc:mysql://192.168.223.141:3306/ --username root --password root
192.168.223.141:slave01的IPADDR
3306:连接数据库的端口
--username root --password root:连接数据库的账户和密码
报错截图如下:
一共显示两个错误信息:
(1)ERROR manager.CatalogQueryManager: Failed to list databases
java.sql.SQLException: Access denied for user 'root'@'slave01' (using password: YES)
(2)2022-07-04 12:36:12,220 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root'@'slave01' (using password: YES)
分析:每个错误都有java.sql.SQLException: Access denied for user 'root'@'slave01' (using password: YES):其他博客上是说:是url没有连接mysql的权限
我的理解就是用户'root'@'slave01'的访问MySQL被拒绝所以我进去到MySQL中执行下面命令:
解决办法:
GRANT ALL ON *.* to 'root'@'slave01' IDENTIFIED BY 'root';赋予权限
FLUSH PRIVILEGES;刷新权限
然后断开xshell重新连接,再执行sqoop list-databases --connect jdbc:mysql://192.168.223.141:3306/ --username root --password root
可以看到MySQL中的内容
注意:
sqoop list-databases --connect jdbc:mysql://192.168.223.141:3306/ --username root --password root
sqoop list-databases --connect jdbc:mysql://slave01:3306/ --username root --password root
这两个命令一个意思,有时候可能其中一条出现问题但是换另外一条可能就不会有问题了