Лучшие практики для передачи данных между кластерами Hadoop

455
tbenz9

Ситуация: мне нужно перенести около 100 ТБ из старого кластера Hadoop в новый кластер Hadoop. Два кластера имеют прямое соединение 1GbE от namenode на каждом кластере. Датододы не связаны.

Что я пробовал:

  • Distcp: это не работает, потому что старые и новые датододы не подключены, он будет сообщать о тайм-ауте соединения при каждом задании mapreduce.
  • hdfs dfs -cp: пока что это работает довольно хорошо, но имеет тенденцию к замедлению и в конечном итоге прекращает передачу через несколько часов. Он также не поддерживает сжатие или хорошую перезапуск.

Что меня интересует:

  • Поскольку мое соединение между кластером 1 и кластером 2 является узким местом, я заинтересован в том, чтобы найти инструмент, позволяющий мне сжимать данные в кластере 1, посылать их по проводам с очень небольшими издержками (возможно, netcat?) И распаковывать их в кластере 2 Rsync был бы идеален, но я не уверен, как использовать это между двумя кластерами Hadoop.
  • Другие рекомендации, с которыми я не знаком.

Мой вопрос:

  • Какие инструменты или сценарии можно использовать для эффективной передачи данных между кластером 1 и кластером 2, учитывая мои перечисленные ограничения?
1

0 ответов на вопрос

Похожие вопросы