外网远程hdfs上传文件报错

远程hdfs访问上传数据:端口映射

环境:windows主机,已跟云服务器互通。云服务器(其中公网IP一个,内网IP五个)
需求:需要上传若干GB级文件到云服务器上的hdfs存储。
问题:hdfs WebUI,可以正常访问,上传、删除文件夹,删除文件,但是不能上传文件。

报错提示

文件上传不了,woker3是我的内网节点名字,通过开发者模式在network模块可以进一步查看网络问题,发现是域名解析不成功,访问不了我的数据节点woker3
在这里插入图片描述

问题排查

集群运行状况:云服务器jps启动正常。

云服务器上传:在VNC登录云服务器,命令行可以正常上传local file。

防火墙:服务器没开,安全组的IP、端口做了限定设置;windows防火墙没有影响。

问题判断

hdfs通过9864端口访问,在浏览器中发现hdfs报错是域名,而不是IP地址(这些是内网IP无法外网访问)。

实际上namenode我绑定了公网IP可以访问,而我的剩下datanode是内网IP,它的9864端口无法完成到本地windows机器的端口映射。

解决方案

所以直接绑定个公网IP就行。

所以在服务器买了公网IP,绑定个woker1,然后在windows本地电脑上修改etc/host ,如下:

新买的公网IP:woker1

新买的公网IP:woker2

然后就可以了。

问题总结

文件上传问题:

权限配置问题或者数据节点的访问限制。

  • 权限问题在hdfs-site.xml和core-site.xml文件中设置访问权限和验证权限。
  • 数据传输权限,确保数据节点的访问限制正确配置,允许通过公网IP进行数据传输。

端口映射问题:

  • 防火墙一方面,格挡了局域网或者公网IP访问。
  • 网络设备的配置,数据节点的内网IP无法与公网访问。

EIP() Elastic IP Address) 通过EIP与公网通信。

端口映射:将内网中的host的port映射到外网主机的一个端口,提供服务。

其他解决方方法:hdfs-site.xml

域名映射,而不是IP映射。

修改、指定hostname可以避免直接连接到内网节点的IP地址。

hostname:是该主机的标签
dfs.client.use.datanode.hostname:决定client(客户端)当连接数据节点时是否使用datanode 的主机名字,这样可以通过域名访问,而不是通过IP访问。

参考内容

官方文档

外网访问hdfs问题

外网无法访问hdfs问题

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值