Ответ 1
Вообще говоря, вы можете контролировать операцию nodetool repair
с помощью двух команд nodetool:
- compactionstats
- NetStats
Операция ремонта имеет две различные фазы. Сначала он вычисляет различия между узлами (ремонтные работы, которые необходимо выполнить), а затем он действует на эти различия путем потоковой передачи данных в соответствующие узлы.
Это проверяет активные вычисления Merkle Tree:
$ nodetool compactionstats
pending tasks: 0
Active compaction remaining time : n/a
Резервные потоки могут отслеживаться с помощью:
$ nodetool netstats
Фактически TheLastPickle Аарон Мортон предлагает использовать следующую команду Bash script/для мониторинга любых активных потоков восстановления:
while true; do date; diff <(nodetool -h localhost netstats) <(sleep 5 && nodetool -h localhost netstats); done
DataStax опубликовал на своих форумах поддержки сообщения о устранении неполадок при ремонте. Если у вас есть какие-либо потоки восстановления, вы можете увидеть их с помощью netstats
. Это может произойти, если один из ваших узлов становится недоступным в процессе восстановления. Чтобы отслеживать конкретные операции восстановления, вы можете проверить свой файл журнала на следующие записи:
DEBUG [WRITE-/172.30.77.197] 2013-05-03 12: 43: 09,107 OutboundTcpConnection.java(строка 165) ошибка записи в /172.30.77.197 java.net.SocketException: Соединение reset
Обратите внимание, что сеансы ремонта также должны быть обозначены в вашей системе .log:
[repair #02fc68f0-210c-11e7-aa88-c35a9a02c19a] Starting...
[repair #02fc68f0-210c-11e7-aa88-c35a9a02c19a] Completed...