本地远程连接云主机Hadoop集群调试失败,datanode连接超时,端口9866

本地IDEA调试MapReduce时,连接阿里云主机上的Hadoop集群出现datanode超时问题。原因是nameNode返回的dataNode IP为内网IP,导致客户端无法访问。解决办法是在`hdfs-site.xml`中配置datanode的client通信使用域名,并在代码中显式声明该配置,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在本地虚拟机有一套hadoop集群,阿里云主机有一套集群。
本地IDEA开发工具写的MapReduce调试案例,可以在直接连接本地虚拟机集群运行跑,但是连接云主机集群报错,连接datanode超时!
报错信息如下:

org.apache.hadoop.net.ConnectTimeoutException: 60000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=/172.24.26.251:9866]
	at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:534) ~[hadoop-common-3.1.3.jar:?]
	at org.apache.hadoop.hdfs.DataStreamer.createSocketForPipeline(DataStreamer.java:253) ~[hadoop-hdfs-client-3.1.3.jar:?]
	at org.apache.hadoop.hdfs.DataStreamer.createBlockOutputStream(DataStreamer.java:1725) [hadoop-hdfs-client-3.1.3.jar:?]
	at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1679) [hadoop-hdfs-client-3.1.3.jar:?]
	at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:716) [hadoop-hdfs-client-3.1.3.jar:?]

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值