
64비트 Debian Lenny에서 실행되는 GlassFish v3 앱 서버가 있습니다. SNMP를 사용하여 GF의 JVM 인스턴스를 모니터링하려는 것을 제외하고는 모든 것이 잘 실행되고 있습니다. 그러나 이를 활성화하려고 할 때마다 <jvm-options>
domain.xml에 다음을 추가합니다.
-Dcom.sun.management.snmp.port=10161
-Dcom.sun.management.snmp.acl.file=/path/to/snmp.acl
-Dcom.sun.management.snmp.interface=127.0.0.1
GlassFish가 시작을 거부합니다.
$ asadmin start-domain
Waiting for DAS to start .Error starting domain: default.
The server exited prematurely with exit code 1.
Command start-domain failed.
$
또한 jvm.log 또는 server.log에는 밝혀진 내용이 없습니다(사실 전혀 아무것도 없습니다). snmp.acl 파일에는 다음이 포함됩니다.
acl = {
{
communities = public
access = read-only
managers = localhost
}
}
chmod는 600입니다(600이 아닌 다른 값으로 설정하면 권한에 대한 오류로 인해 실제로 실패하기 때문에 이것이 문제가 되지 않는다는 것을 알고 있습니다).
$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (build 1.6.0_0-b11)
OpenJDK 64-Bit Server VM (build 1.6.0_0-b11, mixed mode)
답변1
-Dcom.sun.management 옵션은해JVM으로의 확장. 이는 JVM 사양의 일부가 아니므로 다음에서 사용할 수 없습니다.오픈JDK!
어쨌든 Sun JVM을 사용해도 실행 중인 클러스터에 애플리케이션을 배포할 때 치명적인 오류가 발생했습니다. Sun이 SNMP 모니터링용 확장 기능을 판매했기 때문에 의도적인 것일 수도 있습니다.
답변2
나는 같은 문제가 있었다. SNMP를 활성화하면 Glassfish가 더 이상 시작되지 않습니다. 해결책은 간단하며 여기에 설명되어 있습니다.http://www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html
acl 파일에 올바른 권한을 부여하십시오.
[randombugs@jack]# chown <application user> /etc/java-6-sun/management/snmp.acl
[randombugs@jack]# chmod o-r /etc/java-6-sun/management/snmp.acl
[randombugs@jack]# chmod g-r /etc/java-6-sun/management/snmp.acl
답변3
이미 확인하셨겠지만 해당 포트에서 이미 수신 대기 중인 항목이 있습니까?
netstat -an | grep LISTEN이 이를 보여줄 것입니다.