zoukankan      html  css  js  c++  java
  • 远程JMX访问拒绝:Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested

    java.net.ConnectException: Connection refused: connect  
    java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:   
        java.net.ConnectException: Connection refused: connect  
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)  
        at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)  
        at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)  
        at sun.rmi.server.UnicastRef.invoke(Unknown Source)  
        at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)  
        at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)  
        at $Proxy0.getAllSections(Unknown Source)  
        at ccg.boccrawler.rmi.TestClient.main(TestClient.java:21) 
    

    网上常见的解决如下:但是我都不推荐

    • 方案1 :/etc/hosts 里的 127.0.0.1 修改为实际的 IP 地址(这种方法可能会导致有些应用不能用,不推荐)

    原因:JMX的connector server的stub会用'hostname -i'的IP地址作为connector sesrver的IP地址,所以在linux上,如果hosts中的地址设置不正确,用'hostname -i'得到的是IP '127.0.0.1'时,远程JMX连接就会失败。
    在机器A上执行 hostname –i ,结果是 机器A的IP地址
    在机器B上执行hostname –i ,结果是 127.0.0.1

    修改机器B的/etc/hosts文件, 把127.0.0.1 hostnameB 修改为
    机器B的IP地址 hostnameB

    这样导致我activemq起不来

    • 方法2:先在 /etc/hosts 里添加一行,然后修改 /etc/sysconfig/network 文件里面的 HOSTNAME

    如你的 hosts 文件原来内容

    [root@test132 /]# vim /etc/hosts
    
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    

    机器的实际 IP 为192.168.134.132,则可以添加以下内容

    192.168.134.132 test132 localhost
    

    然后修改 /etc/sysconfig/network 文件的 HOSTNAME=test,则可以访问成功。

    [root@test132 /]# vim /etc/sysconfig/network
    
    # Created by anaconda
    HOSTNAME=test132
    

    然后查阅资料 推荐这种。

    ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.1.144"
    

    再后面加上ip,就可以了

  • 相关阅读:
    WPF操作ini 文件的读写示例
    WPF调用图片路径,或资源图片
    WPF笔记一
    WPF 获取程序路径的一些方法,根据程序路径获取程序集信息
    10进制转62进制,实现穷举指定位数的所有密码组合(暴力破解)
    匿名对象和object的转换
    构造函数和:this()的应用
    WPF TextBox自动滚动到最户一行
    C#接口的使用场合,接口应用
    读匿名object对象的属性值
  • 原文地址:https://www.cnblogs.com/dalianpai/p/13820951.html
Copyright © 2011-2022 走看看