как запустить cassandra repair/compact с одного узла в кластере

Я хочу запустить операцию восстановления/уплотнения с 1 узла кластера Cassandra, а не планировать ее со всех узлов в кластере. Я использую версию Кассандры 3. "nodetool -h **NODEIP** repair keyspace" не работает, если я указываю другой узел в кластере. Эта команда работает только для локального узла, на котором я запускаю эту команду. Пожалуйста, предложите способ запустить восстановление/сжатие для всех узлов, запустив их с одного узла в кластере.

Спасибо


person user1097437    schedule 31.07.2017    source источник
comment
какую ошибку вы получаете при использовании nodetool -h <ip> repair <keyspace>   -  person undefined_variable    schedule 31.07.2017
comment
Я получаю nodetool: не удалось подключиться к «‹IP›: 7199» - ConnectException: «Соединение отклонено (соединение отклонено)». Ошибка. Единственная работающая команда: bin/nodetool -h localhost repair ‹keypsace› Она не разрешает IP-адрес.   -  person user1097437    schedule 31.07.2017
comment
Если вы сначала исследуете, почему целевой узел не может получить запрос локального узла, вам может не понадобиться обходной путь. Вы пробовали это?   -  person Pedro Gordo    schedule 31.07.2017
comment
docs.datastax.com/en/landing_page/doc/landing_page/   -  person undefined_variable    schedule 31.07.2017
comment
Да, я пытался. Даже локальный узел не работает, если я указываю IP-адрес. Не работает: - nodetool -h ‹ip› восстановить ключевое пространство Работает: - nodetool -h localhost восстановить ключевое пространство Я попытался добавить JVM_OPTS = $JVM_OPTS -Djava.rmi.server.hostname=IP-адрес в cassadra-env.sh, но проблема все еще сохраняется   -  person user1097437    schedule 31.07.2017
comment
Просто для проверки, но я полагаю, что целевой узел получает запросы? Если да, пропингуйте порт 7199 на целевом узле, и если вы не получите ответ, проверьте, есть ли в вашем брандмауэре правило для этого порта.   -  person Pedro Gordo    schedule 31.07.2017
comment
Просто чтобы закрыть эту тему, мне нужно включить порт JMX на всех узлах. Затем я могу запустить ремонтную работу с 1 узла в кластере. По умолчанию порт JMX отключен.   -  person user1097437    schedule 03.11.2017


Ответы (1)


По умолчанию безопасность JMX отключена и доступна только с локального хоста, поскольку nodetool использует JMX для связи с Cassandra, nodetool будет работать только на локальном узле, если не включена безопасность JMX.

См. эту страницу Datastax, чтобы узнать, как включить аутентификацию JMX. .

person Paul Chandler    schedule 31.07.2017