Прежде всего, порт 9042 предназначен для клиентских подключений CQL собственного двоичного протокола. Порт 9160 предназначен для устаревших (устаревших) клиентских соединений протокола Thrift. Команды между узлами nodetool
используют протокол JMX (Java Management eXtensions) через порт 7199.
Обратите внимание, что для работы удаленного JMX необходимо открыть порт 7199 (брандмауэр) и cassandra-env.sh
имеет строки конфигурации для:
$JMX_PORT="7199"
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 -Djava.rmi.server.hostname=$HOST_IP"
Вы также можете включить аутентификацию по паролю JMX :
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
Кроме того, вам не нужно отправлять порт или учетные данные. Кредиты cassandra
/ cassandra
используются по умолчанию для аутентификации базы данных, а не для JMX. Если вы включили аутентификацию пароля JMX, вам нужно будет отправить любое имя пользователя и пароль, которые вы определили в файле паролей. Но в противном случае это должно работать (если на текущем и целевом узлах включен удаленный JMX):
nodetool -h 10.16.252.148 status