Репликация данных между несколькими кластерами Hadoop, расположенными в разных центрах обработки данных.

Мне было интересно, как лучше всего реплицировать данные, имеющиеся в кластере Hadoop H1 в центре обработки данных DC1, в другой кластер Hadoop H2 в центре обработки данных DC2 (предпочтительно с теплым резервным копированием). Я знаю, что Hadoop выполняет репликацию данных, и количество создаваемых копий данных определяется коэффициентом репликации, установленным в hdfs-site.xml. У меня есть несколько вопросов, связанных с этим

  • Имеет ли смысл распределять узлы данных одного кластера по обоим центрам обработки данных, чтобы узлы данных для H1 присутствовали как в DC1, так и в DC2. Если это имеет смысл и жизнеспособно, значит ли это, что нам не нужен H2?

  • Имеет ли смысл распределять узлы имен и узлы данных по обоим центрам обработки данных, а не только узлы данных, распределенные по обоим центрам обработки данных?

Я также слышал, что люди используют distcp, и многие инструменты построены поверх distcp. Но distcp делает ленивые резервные копии и предпочитает теплые резервные копии холодным.

Некоторые люди предлагают использовать для этого Kafka, но я не уверен, как это сделать.

Любая помощь будет оценена по достоинству. Спасибо.


person thisisshantzz    schedule 06.01.2016    source источник


Ответы (1)


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

person JStorage    schedule 19.02.2016