Репликация HBase - Репликация данных в 3 центрах обработки данных - PullRequest
0 голосов
/ 05 сентября 2018

В нашем приложении у нас есть данные из 3 разных стран, и мы сохраняем данные в HBase.

В каждой стране мы будем хранить данные всех трех стран.

Чтобы достичь этого, возможно ли, что мы создадим наш кластер Hadoop с использованием центров обработки данных во всех этих трех странах, и мы сохраним репликацию данных как 3. Таким образом, благодаря функции осведомленности о стойке, наши данные будут автоматически реплицироваться во всех трех странах. страны?

Любые указатели будут очень полезны.

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вы не можете иметь кластер HBASE в разных странах. Это не сработает из-за задержек, проблем с отработкой отказа, проблем с сетью и т. Д. Хорошим вариантом будет иметь 3 кластера, по одной таблице HBase на страну, и синхронизировать таблицы между кластерами, как предложено выше

Насколько я знаю, только Google успешно внедрил многострановую базу данных, обеспечивающую согласованность и доступность: Spanner. Но ключевыми элементами решения являются: частная физическая сеть между центрами обработки данных и их собственная реализация NTP, которая гарантирует, что все серверы по всему миру имеют одинаковые часы с точностью до нескольких миллисекунд.

0 голосов
/ 05 сентября 2018

Это решение выглядит теоретически выполнимым, но запись может стать довольно медленной, поскольку данные необходимо реплицировать на 3 узла, расположенных в разных географических регионах. Это необходимо проверить и проверить, находится ли задержка в допустимых пределах.

Другой вариант может состоять в том, чтобы иметь три разных кластера HBase в трех местах и ​​проектировать таблицы таким образом, чтобы таблицы из одного кластера HBase можно было копировать в другой в ночные часы, чтобы ежедневно синхронизировать данные. В этом случае кластер HBase будет иметь текущие данные из своего местоположения, но данные из двух других городов будут отставать на день.

...