错误:java.io.IOException:通信链接失败

错误:java.io.IOException:通信链接失败

我正在做一个小项目,在 ubuntu 上实现自动完成。我使用 Hadoop 在 Docker 中运行代码。我还使用从以下位置下载的 Amppshttp://ampps.com/download

但是我有一个无法解决的问题。当我尝试将数据写入MySQL时。我遇到了上述问题。

“错误:java.io.IOException:通信链路失败”。

需要说明的是,我有两个 mapreduce。第一个 map 和 Reduce 都工作正常。第二个 map 工作正常。第二个 Reduce 不工作。MySQL 中没有任何更新。

我被告知在以下代码中的 Driver 类中检查我的 IP 地址:

DBConfiguration.configureDB(conf2,
                 "com.mysql.jdbc.Driver",   // driver class
                 "jdbc:mysql://192.168.1.22:3306/test", // db url 
                 "root",    // user name
                 "root"); //password

我使用下面的代码来搜索我的 IP 地址:

ifconfig | grep inet | grep Bcast

结果如下:

      inet addr:172.18.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
      inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
      inet addr:169.254.9.173  Bcast:169.254.255.255  Mask:255.255.0.0
      inet addr:192.168.1.22  Bcast:192.168.1.255  Mask:255.255.255.0

我将这些地址添加到 mysql 用户列表中并赋予他们所有权限:

 GRANT ALL ON *.* to 'root'@'ip_address' IDENTIFIED BY 'your-password'; 
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address' WITH GRANT OPTION;

我试过每一个 IP 地址。但还是不行。

另一个需要提及的细节是,当我启动 AMPPS 时

cd /usr/local/ampps
sudo ./Ampps

有一个警告

"The apache port is being taken by another application"

我觉得没关系,虽然我不知道怎么解决这个问题。我重启电脑,立即启动Ampps。如果我不先用浏览器,端口就不会被占用。问题还是一样。我也把我的代码上传到github了。链接是https://github.com/Wangzishan199277/Auto-completion

我真的不知道如何解决这个问题。任何答案都很好!

相关内容