聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname

聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname

1 从一个复杂网络环境下的 hdfs 报错问题聊起

大家知道,企业真实的网络环境是复杂多变的,这可能有多种原因:

  • 一方面,单台服务器可以安装多块网卡配置多个IP,而且还可以做网卡绑定NIC bonding/NIC teaming,链路聚合Link Aggregation等;
  • 另一方面,容器技术如 docker/k8s,也通过 linux 的 network namespace 提供了多个隔离的网络命名空间和对应的多个IP;
  • 还有一个原因,在采用公有云私有云混合云的部署架构时,单台服务器经常会配置一个面向外部的公网IP,和面向内部的私网IP。

在复杂的网络环境中部署并使用 hadoop 时,如果服务端的配置或客户端的使用不当,就可能会遇见各种问题:

  • 其中一个常见的问题是,hdfs 客户端读写 datanode 数据时报错 BlockMissingException- 在公有云如 aws EC2或阿里云 ecs上搭建 hadoop 集群时,就经常会出现该错误;
  • 某示例报错的详细错误信息如下:
读取文件错误: xxx - org.apache.hadoop.hdfs.BlockMissingException: could not obtain block: BP-XXXX-10.46.10.80-XXXX:blk_xx_xx file=xxxxx: no live nodes contain current block Block locations: DatanodeInfoWithStorage[10.46.10.80:50010,DS-XX,DISK] DatanodeInfoWithStorage[10.46.10.81:50010,DS-XX,DISK] DatanodeInfoWithStorage[10.46.10.82:50010,DS-XX,DISK] Dead nodes: DatanodeInfoWithStorage[10.46.10.82:50010,DS-XX,DISK] DatanodeInfoWithStorage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明哥的IT随笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值