Высокая доступность NameNode с помощью диспетчера журнала кворума



NameNode High Availability - одна из наиболее важных функций Hadoop 2.0. NameNode High Availability с Quorum Journal Manager используется для обмена журналами редактирования между активным и резервным NameNode.

преобразовать двоичный код в int java

Это одна из самых важных функций Hadoop 2.0. Прежде чем обсуждать функцию высокой доступности Namenode, важно знать, что такое кворум. Кворум - это общий термин, используемый в кластеризации, когда мы говорим, что конкретный кластер является стабильным. Кворум дает список машин и помогает определить работоспособность кластера. Существует два типа кворума: ожидаемый кворум и рассчитанный кворум.





NameNode High Availability с помощью диспетчера журнала кворума (QJM)

До Hadoop 2.0 NameNode был единственной точкой отказа (SPOF) в кластере HDFS. У каждого кластера был единственный NameNode, и если этот компьютер был недоступен, кластер в целом был бы недоступен до тех пор, пока NameNode не был либо перезапущен, либо запущен на отдельной машине. В классическом кластере высокой доступности две отдельные машины настроены как NameNodes. В любой момент один из NameNodes будет находиться в активном состоянии, а другой - в состоянии ожидания. Active NameNode отвечает за все клиентские операции в кластере, в то время как резервный просто действует как подчиненный, поддерживая состояние, достаточное для быстрого переключения при отказе.

Чтобы резервный узел мог согласовывать свое состояние с активным узлом, оба узла связываются с группой отдельных демонов, называемых «узлами журнала» (JN). Когда какое-либо изменение пространства имен выполняется активным узлом, он регистрирует запись о внесенных изменениях в JournalNodes. Резервный узел может считывать измененную информацию из JN и регулярно отслеживать их на предмет изменений. Когда резервный узел видит изменения, он применяет их к своему собственному пространству имен. В случае аварийного переключения резервный сервер должен убедиться, что он прочитал все изменения из JounalNodes, прежде чем изменить свое состояние на «Активное состояние». Это гарантирует, что состояние пространства имен полностью синхронизировано до того, как произойдет отработка отказа.



Для обеспечения быстрого аварийного переключения важно, чтобы резервный узел имел обновленную и текущую информацию о расположении блоков в кластере. Для этого DataNodes настроены с указанием местоположения обоих NameNodes и отправляют информацию о местоположении блока и тактовые импульсы им.

Важно, чтобы только один из NameNodes был активным одновременно. В противном случае состояние пространства имен будет отличаться между ними и приведет к потере данных или ошибочным результатам. Чтобы этого избежать, JournalNodes разрешает автору только один NameNode за раз. Во время аварийного переключения, NameNode, который должен стать активным, возьмет на себя ответственность за запись в JournalNodes.

Есть вопрос к нам? Укажите их в комментариях, и мы свяжемся с вами.



Похожие сообщения:

Обзор Федерации кластерной архитектуры Hadoop 2.0