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