[GE users] Enabling JMX on a 6.2 qmaster

victor73 vfelix at som.umaryland.edu
Mon Feb 2 17:31:28 GMT 2009


Hi Andre,

So under the MBeans tab, the top level nodes of the tree that I see are:
JMImplementation, com.sun.management, java.lang, and java.util.logging.
I've traversed these nodes looking for gridengine information to no
avail. Perhaps it's not possible to add JMX support after installation,
or something got missed... I've rechecked all the steps in your original
response, and everything is in place. Any other ideas?

-Victor

-----Original Message-----
From: Andre.Alefeld at Sun.COM [mailto:Andre.Alefeld at Sun.COM] 
Sent: Saturday, January 31, 2009 4:34 AM
To: Felix, Victor
Cc: users; Dan.Templeton at Sun.COM
Subject: Re: [GE users] Enabling JMX on a 6.2 qmaster

Hi Victor,

can't you see under the MBeans tab the gridengine node ?

Andre

Felix, Victor wrote:
> Hi guys,
>
> So I tried the script and I can now connect to the qmaster machine on
> the configured JMX port with jconsole. I see a lot of information on
the
> various tabs, such as the memory, threads, classes, etc... However,
> under the MBean tab I don't see anything really related to SGE at all.
> If I can connect and see that stuff, then SSL/authentication shouldn't
> be the problem anymore right? Or is it possible that the SGE related
> controls are only available when full blown security is used, and I'm
> only seeing vanilla JMX information pertaining to the JVM?
>
> -Victor
>
> -----Original Message-----
> From: Dan.Templeton at Sun.COM [mailto:Dan.Templeton at Sun.COM] 
> Sent: Wednesday, January 28, 2009 7:31 AM
> To: users at gridengine.sunsource.net
> Cc: victor73
> Subject: Re: [GE users] Enabling JMX on a 6.2 qmaster
>
> I had similar issues when I put together the HPC software demo.  The 
> only way I found to make the JMX connection work was to install the 
> cluster with full security and go through all of the steps of 
> certificate management.  Anything less failed.
>
> Daniel
>
> andre wrote:
>   
>> Hi Victor,
>>
>> can you try the following script:
>>
>> . <sge_root dir>/default/common/settings.sh
>> or
>> source <sge_root dir>/default/common/settings.csh
>>
>>
>> #!/bin/sh
>>
>> # source SGE env
>> . /<sge_root>/default/common/settings.sh
>>
>> jconsole -pluginpath 
>> $JAVA_HOME/demo/scripting/jconsole-plugin/jconsole-plugin.jar 
>> -J-Djava.security.manager=java.rmi.RMISecurityManager 
>> -J-Djava.security.policy=$SGE_ROOT/util/rmiconsole.policy 
>>
>>     
>
-J-Djavax.net.ssl.trustStore=/var/sgeCA/port$SGE_QMASTER_PORT/default/pr
> ivate/keystore 
>   
>
-J-Djavax.net.ssl.keyStore=/var/sgeCA/port$SGE_QMASTER_PORT/default/priv
> ate/keystore 
>   
>> -J-Djavax.net.debug=ssl -J-Djavax.net.ssl.keyStorePassword=<pw>  
>> -J-Djavax.net.ssl.keyPassword=<pw>
>>
>>
>>
>> The other possibility is to switch off SSL authentication in 
>> $SGE_ROOT/default/common/jmx/management.properties
>>
>> com.sun.grid.jgdi.management.jmxremote.ssl=false
>> ..
>> com.sun.grid.jgdi.management.jmxremote.ssl.need.client.auth=false
>>
>> Andre
>>
>> victor73 wrote:
>>     
>>> Thanks Andre,
>>>
>>> I've put all the files in place and configured the bootstrap file as
>>> well as the qmaster with the correct settings for the path to
>>> libjvm.so and the jvm. When I start the master I have verified that
>>>       
> my
>   
>>> configured port is opened up and listening. I also get jgdi0.log,
>>> jgdi.stdout and jgdi.stderr files... Everything seems to be fine
>>> except when I try to connect with jconsole. To simplify things, I've
>>> turned off ssl and authentication in the management.properties file.
>>> When I try to connect with jconsole
>>>
>>>   
>>>       
>>>> jconsole -J-Djava.security.manager=java.rmi.RMISecurityManager
>>>>         
> -J-Djava.security.policy=$SGE_ROOT/util/rmiconsole.policy
qmaster:12345
>   
>>>>     
>>>>         
>>> I get this in the jgdi.stderr file
>>>
>>> ============================
>>> access: access allowed (java.io.FilePermission
>>> /usr/local/packages/sge-root/lib/- read)
>>> java.lang.Exception: Stack trace
>>>         at java.lang.Thread.dumpStack(Thread.java:1206)
>>>         at
>>>       
>
java.security.AccessControlContext.checkPermission(AccessControlContext.
> java:272)
>   
>>>         at
>>>       
>
java.security.AccessController.checkPermission(AccessController.java:546
> )
>   
>>>         at
>>>       
> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
>   
>>>         at
>>>       
>
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanPermissi
> on(DefaultMBeanServerInterceptor.java:1806)
>   
>>>         at
>>>       
>
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanPermissi
> on(DefaultMBeanServerInterceptor.java:1789)
>   
>>>         at
>>>       
>
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isInstanceOf(Defau
> ltMBeanServerInterceptor.java:1399)
>   
>>>         at
>>>       
>
com.sun.jmx.mbeanserver.JmxMBeanServer.isInstanceOf(JmxMBeanServer.java:
> 1051)
>   
>>>         at
>>>       
>
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionI
> mpl.java:1432)
>   
>>>         at
>>>       
>
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionIm
> pl.java:72)
>   
>>>         at
>>>       
>
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RM
> IConnectionImpl.java:1264)
>   
>>>         at
>>>       
>
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIC
> onnectionImpl.java:1359)
>   
>>>         at
>>>       
>
javax.management.remote.rmi.RMIConnectionImpl.isInstanceOf(RMIConnection
> Impl.java:898)
>   
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>       
> Method)
>   
>>>         at
>>>       
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>   
>>>         at
>>>       
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>   
>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at
>>>       
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
>   
>>>         at sun.rmi.transport.Transport$1.run(Transport.java:159)
>>>         at java.security.AccessController.doPrivileged(Native
Method)
>>>         at
>>>       
> sun.rmi.transport.Transport.serviceCall(Transport.java:155)
>   
>>>         at
>>>       
>
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
>   
>>>         at
>>>       
>
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.j
> ava:790)
>   
>>>         at
>>>       
>
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
> va:649)
>   
>>>         at
>>>       
>
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
> r.java:885)
>   
>>>         at
>>>       
>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
> va:907)
>   
>>>         at java.lang.Thread.run(Thread.java:619)
>>> access: domain 0 ProtectionDomain
>>> (file:/usr/local/packages/sge6.2/lib/jgdi.jar <no signer
>>> certificates>)
>>>  sun.misc.Launcher$AppClassLoader at 558fe7c3
>>>  <no principals>
>>>  java.security.Permissions at 38a97b0b (
>>>  (java.lang.RuntimePermission exitVM)
>>>  (java.io.FilePermission /usr/local/packages/sge6.2/lib/jgdi.jar
>>>       
> read)
>   
>>> )
>>>
>>> access: access allowed (javax.management.MBeanPermission
>>> sun.management.RuntimeImpl#-[java.lang:type=Runtime] isInstanceOf)
>>> =====================
>>>
>>> Seems like I'm bumping into a security manager problem. The other
>>> thing I've tried is:
>>>
>>> $java  -cp $SGE_ROOT/lib/juti.jar:$SGE_ROOT/lib/jgdi.jar
>>> com.sun.grid.jgdi.examples.jmxeventmonitor.Main
>>>
>>> but after configuring the GUI and attempting to connect, I get an
>>> error dialog with:
>>>
>>> =====================
>>> connection to
>>>       
> service:jmx:rmi:///jndi/rmi://qmaster:12345/jmxrmifailed;
>   
>>> nested exception is:
>>> 	com.sun.grid.jgdi.JGDIException: jmx connection id contains no
>>>       
> jgdi
>   
>>> session id. Please check qmaster's JAAS configuration
>>> (JGDILoginModule)
>>> =====================
>>>
>>> My jaas.config file is present and is identical to the provided
>>> template in $SGE_ROOT/util...
>>> Any ideas?
>>>
>>> -Victor
>>>   
>>>       
>> -- 
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>     
> - - -
>   
>> Andre Alefeld                Phone: ++49 (0)941 3075-255
>> Software Engineering         Fax:   ++49 (0)941 3075-222
>> Sun Microsystems GmbH
>> Dr.-Leo-Ritter-Str. 7	     mailto: andre.alefeld at sun.com
>> D-93049 Regensburg           http://www.sun.com/gridware
>>
>>     
>
> ------------------------------------------------------
>
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=38&dsMessage
> Id=100004
>
> To unsubscribe from this discussion, e-mail:
> [users-unsubscribe at gridengine.sunsource.net].
>   


-- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
Andre Alefeld                Phone: ++49 (0)941 3075-255
Software Engineering         Fax:   ++49 (0)941 3075-222
Sun Microsystems GmbH
Dr.-Leo-Ritter-Str. 7	     mailto: andre.alefeld at sun.com
D-93049 Regensburg           http://www.sun.com/gridware

------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=38&dsMessageId=101413

To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].



More information about the gridengine-users mailing list