Подтвердить что ты не робот

Что такое настройка кворума zookeeper в hbase-site.xml?

Что такое настройка кворума zookeeper в hbase-site.xml?

4b9b3361

Ответ 1

Как описано в hbase-default.xml, здесь параметр:

Список серверов, разделенных запятыми, в кворуме ZooKeeper. Например, "host1.mydomain.com, host2.mydomain.com, host3.mydomain.com". По умолчанию для локального и псевдораспределенного режимов работы установлено значение localhost. Для полностью распределенной настройки этот параметр должен быть установлен на полный список серверов кворума ZooKeeper. Если HBASE_MANAGES_ZK установлен в hbase-env.sh, это список серверов, на которых мы начнем/остановим ZooKeeper.

На это на самом деле ответил Эдвард Дж. Юн здесь. С редактированием с моей стороны, для ясности:

Apache Zookeeper - это служба координации для распределенных приложений, таких как Google Chubby. Во многих проектах используется zookeeper, и мы (Apache Hama) также используем zookeeper для барьерной синхронизации структуры пакетных синхронных параллельных вычислений.

Сегодня я более подробно рассмотрел функции paxos и динамического кворума проекта Zookeeper, чтобы лучше назвать класс org.apache.hama.zookeeper.QuorumPeer. Из-за документации недостаточно (http://hadoop.apache.org/zookeeper/docs/r3.0.0/api/index.html), я не понял смысла "кворума", поскольку этот термин был несколько странным для меня. Но, "org.apache.hama.zookeeper.QuorumPeer" - это правильное имя! XD

Итак, что такое Кворум и зачем нам нужен кворум?

Согласно Википедии, Кворум - это минимальное количество членов совещательного органа, необходимого для ведения бизнеса этой группы. Обычно это большинство людей, которые, как ожидается, будут там, хотя многие органы могут иметь более низкий или более высокий кворум.

Как вы знаете, механизм отказоустойчивости является одной из важных функций распределенной системы. Алгоритм Кворума используется для предотвращения состояния с разделенным мозгом. Когда происходит состояние расщепленного мозга, согласно алгоритму Кворума, zookeeper определяет "Первичный раздел" и "Вторичный раздел". Затем серверы в первичной группе получают и обрабатывают пользовательский запрос, а серверы во вторичной группе становятся доступными только для чтения.

Когда эта система восстанавливается после состояния с расщепленным мозгом? Когда они снова объединены с одним разделом. Внутри zookeeper использует атомный широковещательный протокол вместо Paxos.

Вы также должны прочитать исходную версию в случае, если я неверно переработал концепции, которые он пытался представить.

Мое понимание механизма кворума в Apache Zookeeper явно определяет кворум репликации на нескольких предопределенных хостах. Если этот кворум не выполняется, разделы, которые не согласны, разделяются на дополнительный раздел, пока Zookeeper не сможет реинтегрировать их с основным разделом.

Это добавляет больше детализации к модели Hadoop конечной согласованности. Между тем, HBase в настоящее время находится в процессе в дальнейшем интегрируя Zookeeper с его кодом.

Ответ 2

Из файла hbase-default.xml:

Список серверов, разделенных запятыми, в кворуме ZooKeeper.     Например, "host1.mydomain.com, host2.mydomain.com, host3.mydomain.com".     По умолчанию для локального и псевдораспределенного режимов установлено значение localhost     операции. Для полностью распределенной настройки это должно быть установлено на полную     список серверов кворума ZooKeeper. Если HBASE_MANAGES_ZK установлен в hbase-env.sh     это список серверов, на которых мы начнем/остановим ZooKeeper.

И из раздела "Требования к началу работы":

HBase зависит от ZooKeeper с момента выпуска 0.20.0. HBase сохраняет местоположение своей корневой таблицы, кто является текущим мастером, и какие регионы в настоящее время участвуют в кластере в ZooKeeper. Клиенты и серверы теперь должны знать свои места кворума ZooKeeper, прежде чем они смогут сделать что-нибудь еще (обычно они берут эту информацию из конфигурации, предоставленной на их CLASSPATH). По умолчанию HBase будет управлять одним экземпляром ZooKeeper для вас. В автономных и псевдораспределенных режимах это обычно достаточно, но для полностью распределенного режима вам необходимо настроить кворум ZooKeeper (подробнее см. Ниже).

Надеюсь, что это поможет.