Мне необходимо довольно регулярно передавать данные (по запросу, а не по сценарию / потоковой передаче) между двумя независимыми кластерами HADOoop. Один из них развернут в изолированной сети и не имеет прямого доступа к другому.
Я попытался найти ответы в официальной документации и в Интернете, но, похоже, это довольно нетривиальная задача. Итак, единственные ответы, которые я нашел, относятся к проксированию службы REST.
Есть ли способ каким-либо образом проксировать функциональность distcp?
Может быть, есть какой-то другой эффективный (и масштабируемый?) Способ передачи данных между двумя изолированными кластерами HADOoop через какое-то временное хранилище?
Что вы можете сделать, так это настроить службу шлюза HDFS / NFS в каждом кластере, а затем на промежуточном хосте смонтировать два общих ресурса (по одному из каждого кластера). Тогда вы можете легко копировать файлы туда и обратно (как пользователь на промежуточном хосте). Для повышения безопасности потребуется настроить брандмауэр на промежуточном хосте. Помните, что журналы аудита HDFS не понимают, как работает шлюз NFS, поэтому в журналах будет отображаться только общий пользователь NFS, выполняющий действия в файловых системах, а не настоящие пользователи.
HTH edit: пояснение