Я следовал руководству по Datastax (https://docs.datastax.com/en/archived/cassandra/2.2/cassandra/configuration/secureJmxAuthentication.html) для включения удаленных соединений jmx на моих узлах C * 2.2 на экземпляре AWS EC2.
Все выглядит нормально в отношении конфигурации, но как только я установилпеременная LOCAL_JMX в «нет», тогда процесс cassandra больше не запускается.
Когда я делаю статус cassandra, я получаю информацию, что он потерпел неудачу:
● cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/init.d/cassandra; bad; vendor preset: enabled)
Active: active (exited) since Thu 2019-05-09 11:17:23 UTC; 2min 53s ago
Docs: man:systemd-sysv-generator(8)
Process: 2750 ExecStop=/etc/init.d/cassandra stop (code=exited, status=0/SUCCESS)
Process: 2759 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)
May 09 11:17:23 ip-172-31-26-31 systemd[1]: Starting LSB: distributed storage system for structured data...
May 09 11:17:23 ip-172-31-26-31 systemd[1]: Started LSB: distributed storage system for structured data.
Затем я проверил / var / logs / cassandra system.log и debug.log, но, к сожалению, в одном из этих файлов нет новой записи журнала. Я вижу только старые записи журнала. Когда я переключаюсь обратно на LOCAL_JMX = yes, тогда запускается cassandra.и я вижу записи в журнале. Но когда это не удается, я не вижу записей в журнале.
У вас есть идея, как я могу выяснить проблему, если в журнале нет записи?
Дополнительная информация:
cassandra-env.sh
LOCAL_JMX="no"
if [ "x$LOCAL_JMX" = "x" ]; then
LOCAL_JMX=yes
fi
if [ "$LOCAL_JMX" = "yes" ]; then
JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT -XX:+DisableExplicitGC"
else
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.access.file=/etc/cassandra/jmxremote.access"
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/path/to/keystore"
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=<keystore-password>"
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStore=/path/to/truststore"
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=<truststore-password>"
# JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.need.client.auth=true"
# JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true"
# JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.enabled.protocols=<enabled-protocols>"
# JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.enabled.cipher.suites=<enabled-cipher-suites>"
fi
jmxremote.password:
monitorRole QED
controlRole R&D
cassandra cassandra
jmxremote.access:
cassandra readwrite
controlRole readwrite \
create javax.management.monitor.,javax.management.timer. \
unregister
chmod 400
-r-------- 1 cassandra cassandra 114 May 8 15:13 jmxremote.access
-r-------- 1 cassandra cassandra 2871 May 8 14:33 jmxremote.password