外网连接内网hadoop集群

本文解决了一个在SpringBoot项目中连接Hadoop集群的问题,当使用外网连接Namenode时,上传文件过程中Datanode地址会自动切换为内网IP,导致连接失败。通过在开发机器的hosts文件中加入Datanode主机名映射,并在配置文件中设置特定参数,成功解决了内外网IP切换问题。

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

本地开发环境springboot项目中链接内网中hadoop集群,namenode使用外网连接没问题,但是上传文件时,通过namenode找datanode时就自动变为内网ip了,这样肯定不行的。

卡了两天。。

偶然间发现一篇文章:https://blog.csdn.net/qq_36951116/article/details/90348181?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

最后就是在开发的机器上(我的是windows10环境)在hosts文件中加入datanode主机名映射

1.在配置文件位置加入一行代码

conf.set("dfs.client.use.datanode.hostname", "true");//让namenode返回datanode所在机器的hostname
获取datanode机器的主机名

windows10   hosts文件位置:C:\windows\system32\drivers\etc\

2.在hosts文件中加入datanode主机名映射如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值