Перемещение узла SecondaryName в кластере HBase Cloudera
Я развернул вторичный наменод на той же машине, это мой основной наменод:
Это неправильно по причинам производительности и долговечности (вторичный узел имени не является горячим резервом, но у него есть копия необходимых метаданных). Я нашел документацию о том, как переместить наменод, но ничего о перемещении вторичного наменода.
Кто-нибудь с опытом знает, как сделать это безопасно?
2 ответа
Должно быть достаточно безопасно просто удалить роль Secondary Namenode, а затем снова добавить ее на другой узел в кластере. В промежуточный период вы можете увидеть предупреждение от Cloudera Manager о том, что роль не существует (что может вызвать долговременные проблемы с namenode), но отсутствие вторичного сервера больше не подвергает ваши данные риску.
Задача 2NN - прочитать изменения в файловой системе HDFS и добавить их в fsimage
, Это уменьшает время запуска NN, так как во время запуска NN читает fsimage
файл, а затем применяет все временные изменения журнала поверх него. Присвоение имен несколько неудачно, поскольку это действительно не резервный / резервный NN, а всего лишь утилита для увеличения производительности NN.
В CM есть опция "Roll Edits" (в зависимости от вашей версии CM) на 2NN, см. Также "Checkpointing". Обязательно сделайте это, прежде чем двигаться.
На всякий случай остановите все службы
Переместите роль 2NN на новую машину.
Перезапустите все службы
(Необязательно, но оно того стоит): Реализация HA