VM中的分布式Java RMI

时间:2018-06-11 21:02:34

标签: java linux rmi

我尝试创建Java RMI程序,当我使用一台机器或使用主机和VM时,一切都很顺利。但是,当我在两个不同的VM上运行它时,程序无法正常工作。

在VM1上运行'rmiregistry'和'java server' - Works

在VM2上,我运行'java client' - ERROR

错误:

  

线程“main”中的异常java.rmi.ConnectIOException:异常   创建连接:192.168.122.30;嵌套异常是:     java.net.NoRouteToHostException:没有到主机的路由(Host unreachable)

我尝试过另一个stackoverflow线程和其他来源:

  1. 将特定端口放在implementation.java'perper()'
  2. 使用主机名@
  3. 在代码中注入ipaddress
  4. 使用-Djava.rmi.server.hostname =
  5. 运行服务器

    仍然无法正常工作。

    SSH,telnet,ping和traceroute正在运行

    [解决]

    为了让vm互相交谈,程序没有任何问题,但vm(s)上的防火墙是。因此,在运行程序之前,请确保firewalld已禁用并停止运行。然后,它会工作。 在vm(s)中运行此命令

    id  | counter
    -------------
     1  |       0 (first row)
     2  |       1 (larger value, good)
     3  |       3 (larger value, good)
     4  |       3 (same value, good)
     5  |       4 (larger value, good)
     6  |      21 (larger value, it appears to be good at this point, however next values proves this was an actually an error, *NOT good*, should be removed from the result sets)
     7  |      11 (smaller value, it appears to be NOT good at this point, however next values proves this was NOT an error, should NOT be removed from the result sets)
     8  |      19 (larger value, good)
     9  |      19 (same value, good)
    10  |     120 (larger value, good)
    11  |      64 (smaller value, *NOT good*)
    12  |     133 (larger value, good)
    

0 个答案:

没有答案