【问题标题】:Can't connect jconsole to remote server, tomcat failing to start无法将 jconsole 连接到远程服务器,tomcat 无法启动
【发布时间】:2011-12-22 03:59:15
【问题描述】:

尝试将 jconsole 连接到远程服务器。

我将此添加到我的 catalina.sh 中:

export JAVA_OPTS="-Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=9005 \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Djava.rmi.server.hostname=xx.xx.xx.xx"

catalina.out 显示:

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: myhostname: myhostname

不确定为什么它在错误消息中重复我的主机名?

顺便说一句,由于我将身份验证设置为 false,在 jconsole 应用程序中,我是将用户名/密码留空还是用于登录服务器?

【问题讨论】:

  • 您是否将属性 rmi.server.hostname 用于其他目的(启用 JMX 除外)?
  • 我正在使用它 b/c 我认为您需要它来连接到远程服务器。
  • 嗨@Blankman,如果您认为我的回答解决了您的问题,您能接受我的回答吗?否则,如果您需要任何进一步的帮助,我很乐意为您提供帮助。

标签: java tomcat jvm jconsole


【解决方案1】:

您必须在/etc/hosts 文件中添加与您在/etc/sysconfig/network 文件中定义的主机名相同的主机名。 这就是我解决问题的方法。

【讨论】:

    【解决方案2】:

    我已经找到了这个问题的解决方案。 在您的 catalina.sh 文件中添加以下内容:

    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote .port=7010 -Djava.rmi.server.hostname=${IP}"

    在您的 /etc/init.d/hosts 文件中添加以下行:

    127.0.0.1 localhost <your_hostname>
    

    这解决了问题。我现在可以在这个端口上运行jconsolejvisualvm
    我希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      如果你想动态获取IP地址可以试试:

      IP=`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
      JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=${IP}"
      

      【讨论】:

        【解决方案4】:
        1. 如果您在“导出”语句中使用“\”,请将其删除。

        2. 要连接到远程 java 进程,请使用运行 java 进程(tomcat 实例)的服务器的 IP 地址。当无法确定 IP 地址时会引发 UnknownHostException,因此另一种选择是将名称 - IP 地址定义添加到您的主机文件中。

        【讨论】:

          【解决方案5】:

          您可以尝试将您在 JAVA_OPTS 中添加的参数添加到 CATALINA_OPTS。它应该这样工作。
          还要确保您使用运行 tomcat 的相同配置文件登录进行设置。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多