通过VPN在hadoop集群之间传输数据
我想在两个hadoop2.6.0集群通过VPN在hadoop集群之间传输数据,hadoop,hdfs,vpn,Hadoop,Hdfs,Vpn,我想在两个hadoop2.6.0集群nn1和nn2之间复制一个文件。群集只能通过VPN连接,因此在namenodenn1上,我创建了一个到nn2的VPN连接(只是namenode到namenode),并在nn1上运行命令,如下所示: hadoop distcp hdfs://nn1:9000/user/hadoop/src hdfs://nn2:9000/user/hadoop/dest 上面的命令错误: Error: java.net.NoRouteToHostException: No R
nn1
和nn2
之间复制一个文件。群集只能通过VPN连接,因此在namenodenn1
上,我创建了一个到nn2
的VPN连接(只是namenode到namenode),并在nn1
上运行命令,如下所示:
hadoop distcp hdfs://nn1:9000/user/hadoop/src hdfs://nn2:9000/user/hadoop/dest
上面的命令错误:
Error: java.net.NoRouteToHostException: No Route to Host from dn1/127.0.1.1 to nn2:9000 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host;
其中dn1
是集群nn1
中的数据节点之一
是否因为群集nn1
中的所有数据节点都没有VPN连接到nn2
群集?我认为我只需要namenodes之间的VPN连接就可以进行集群间复制
我无法为
nn1
到nn2
中的每个数据节点创建VPN连接,因为我没有那么多VPN帐户。在这种情况下,正确的做法是什么?以下是在Hadoop中写入文件的工作原理:
因此,如果您需要两个hadoop集群之间的VPN连接,那么您需要在所有节点到所有节点之间建立VPN连接。这是生产集群吗?这并不典型,在企业中,VPN需要从我们的PC连接到集群。但企业中的两个集群之间将直接连接。您不应该依赖VPN,可以使用其他替代方案在群集之间直接连接。谢谢您的解释。我所处的情况是,企业从外部供应商处购买了仅专用网络的集群,因此本地集群和远程集群之间没有直接连接。那么还有什么其他选择呢?