通过vpn在hadoop集群之间传输数据

4xy9mtcn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(430)

我想在两个hadoop2.6.0集群之间复制一个文件 nn1 以及 nn2 . 群集只能通过vpn连接,所以namenode nn1 我创建了到的vpn连接 nn2 (只是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连接就可以进行集群间的复制。
我无法为中的每个数据节点创建vpn连接 nn1nn2 ,因为我没有那么多vpn帐户。在这种情况下,正确的做法是什么?

zysjyyx4

zysjyyx41#

以下是在hadoop中写入文件的工作原理:
客户机与namenode讨论需要复制哪些数据节点
然后,客户机建立到数据节点的连接,数据将直接复制到数据节点
然后,客户端更新有关文件的namenode元数据
对于distcp,client是第一个集群中的所有数据节点,nn1是namenode
因此,如果您需要两个hadoop集群之间的vpn连接,那么您需要在所有节点到所有节点之间建立vpn连接。这是生产集群吗?这是不典型的,在企业vpn需要连接到集群从我们的pc。但将有直接连接的两个集群之间的企业。您不应该依赖于vpn,可以使用其他替代方法在集群之间建立直接连接。

相关问题