Не удается подключить jconsole к удаленному серверу, tomcat не запускается - PullRequest
4 голосов
/ 22 декабря 2011

Попытка подключить 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 я оставляю имя пользователя / пароль пустым или это для регистрациина сервер?

Ответы [ 5 ]

15 голосов
/ 24 августа 2012

Вы должны добавить то же имя хоста в файле /etc/hosts, которое вы определили в файле /etc/sysconfig/network.Так я решил свою проблему.

3 голосов
/ 07 февраля 2013

Я нашел решение этой проблемы.Добавьте в свой файл 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 file:

127.0.0.1 localhost <your_hostname>

Это решило проблему.Теперь я могу запустить jconsole и jvisualvm на этом порту.
Надеюсь, это поможет!

2 голосов
/ 11 июля 2012

Если вы хотите получить 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}"
1 голос
/ 24 декабря 2011
  1. Если вы используете '\' в своем операторе 'export', удалите их.

  2. Чтобы подключиться к удаленному процессу Java, используйте IP-адрес серверагде ваш Java-процесс (экземпляр Tomcat) работает.UnknownHostException генерируется, когда IP-адрес не может быть определен, поэтому другой вариант - добавить определение имени-IP-адреса в ваш файл hosts.

0 голосов
/ 04 февраля 2013

Вы можете попробовать добавить параметры, которые вы добавили в JAVA_OPTS, в CATALINA_OPTS.Это должно работать таким образом.
Также убедитесь, что вы выполняете настройки с тем же логином, из которого вы запускаете tomcat.

...