[ 
https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822567#comment-17822567
 ] 

Stefan Miklosovic commented on CASSANDRA-19453:
-----------------------------------------------

If I have fully setup ssl like this (checkout LOCAL_JMX=baz) it will just jump 
to else branch again and all will be just started fine.

{noformat}
LOCAL_JMX="baz"

if [ "x$LOCAL_JMX" = "x" ]; then
    LOCAL_JMX=yes
fi

# Specifies the default port over which Cassandra will be available for
# JMX connections.
# For security reasons, you should not expose this port to the internet.  
Firewall it if needed.
JMX_PORT="7199"

if [ "$LOCAL_JMX" = "yes" ]; then
  JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT"
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
else
  JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.remote.port=$JMX_PORT"
  # if ssl is enabled the same port cannot be used for both jmx and rmi so 
either
  # pick another value for this property or comment out to use a random port 
(though see CASSANDRA-7087 for origins)
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=7750"

  # turn on JMX authentication. See below for further options
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"

  # jmx ssl options
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=true"
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.need.client.auth=false"
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true"
  JVM_OPTS="$JVM_OPTS 
-Dcom.sun.management.jmxremote.ssl.enabled.protocols=TLSv1.2"
  JVM_OPTS="$JVM_OPTS 
-Dcom.sun.management.jmxremote.ssl.enabled.cipher.suites=TLS_RSA_WITH_AES_256_CBC_SHA"
  JVM_OPTS="$JVM_OPTS 
-Djavax.net.ssl.keyStore=/submit/cassandra/ssl/$(hostname)-server-keystore.p12"
  JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=cassandra"
  JVM_OPTS="$JVM_OPTS 
-Djavax.net.ssl.trustStore=/submit/cassandra/ssl/server-truststore.jks"
  JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=cassandra"
fi
{noformat}

> Enabling remote JMX fails to start
> ----------------------------------
>
>                 Key: CASSANDRA-19453
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19453
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Config
>            Reporter: Brandon Williams
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>             Fix For: 5.0-rc, 5.x
>
>
> If you set LOCAL_JMX to something other than 'yes' in conf/cassandra-env.sh, 
> you receive:
> {noformat}
> Exception (java.lang.ExceptionInInitializerError) encountered during startup: 
> null
> java.lang.ExceptionInInitializerError
>         at 
> org.apache.cassandra.utils.JMXServerUtils.configureJmxAuthentication(JMXServerUtils.java:188)
>         at 
> org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:106)
>         at 
> org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:154)
>         at 
> org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:172)
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:240)
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:721)
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:855)
> Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: 
> access to public member failed: 
> com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial,
>  from class 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper 
> (unnamed module @51dcb805)
>         at 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:306)
>         ... 7 more
> Caused by: java.lang.IllegalAccessException: access to public member failed: 
> com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial,
>  from class 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper 
> (unnamed module @51dcb805)
>         at 
> java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:955)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:3882)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon(MethodHandles.java:4117)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager(MethodHandles.java:4111)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.unreflectConstructor(MethodHandles.java:3433)
>         at 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:302)
>         ... 7 more
> ERROR [main] 2024-03-01 06:16:00,028 CassandraDaemon.java:877 - Exception 
> encountered during startup
> java.lang.ExceptionInInitializerError: null
>         at 
> org.apache.cassandra.utils.JMXServerUtils.configureJmxAuthentication(JMXServerUtils.java:188)
>         at 
> org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:106)
>         at 
> org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:154)
>         at 
> org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:172)
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:240)
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:721)
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:855)
> Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: 
> access to public member failed: 
> com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial,
>  from class 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper 
> (unnamed module @51dcb805)
>         at 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:306)
>         ... 7 common frames omitted
> Caused by: java.lang.IllegalAccessException: access to public member failed: 
> com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial,
>  from class 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper 
> (unnamed module @51dcb805)
>         at 
> java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:955)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:3882)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon(MethodHandles.java:4117)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager(MethodHandles.java:4111)
>         at 
> java.base/java.lang.invoke.MethodHandles$Lookup.unreflectConstructor(MethodHandles.java:3433)
>         at 
> org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:302)
>         ... 7 common frames omitted
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to