在没有直接网络连接的情况下在两个 Hadoop 集群之间传输数据

在没有直接网络连接的情况下在两个 Hadoop 集群之间传输数据

我需要在两个独立的 Hadoop 集群之间定期(按需,非脚本/流式)传输数据。其中一个集群部署在隔离网络中,无法直接访问另一个集群。

我尝试在官方文档和网络上搜索答案,但看起来这似乎是一项相当困难的任务。所以我找到的唯一答案与代理 REST 服务有关。

有没有办法以某种方式代理 distcp 功能?

也许还有其他一些有效(且可扩展?)的方法可以通过某种临时存储在两个独立的 Hadoop 集群之间传输数据?

答案1

您可以做的是在每个集群中设置一个 HDFS/NFS 网关服务,然后在中间主机上安装两个共享(每个集群一个)。然后,您可以非常轻松地来回复制文件(作为中间主机上的用户)。需要在中间主机上设置防火墙以增加安全性。请注意,HDFS 审计日志不了解 NFS 网关的执行方式,因此日志只会显示一般 NFS 用户在文件系统中执行的操作,而不是真正的用户。

HTH 编辑:澄清

相关内容