hadoop datanodes在添加新节点后使用太多带宽

时间:2016-05-12 10:42:40

标签: hadoop bandwidth

问题是:我在创建集群时有3个数据节点,而且几天前我添加了另外两个数据节点。

在我这样做之后,我运行了平衡器,平衡器快速完成,并说集群是平衡的。

但是我发现,一旦我将数据(大约30MB)放入集群,数据节点就会使用大量带宽(大约400Mbps)在旧数据节点和新数据节点之间发送和接收数据。

有人能告诉我可能的原因是什么吗?

也许我描述的问题不是很清楚,我会告诉你两个图片(来自zabbix),hadoop-02是“旧的datanode”之一,而hadoop-07是“新的datanode”之一。 enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

  1. 如果您的意思是网络流量。 Hdfs使用写入管道。假设复制因子为3,数据流为

    客户 - > Datanode_1 - > Datanode_2 - > Datanode_3

    如果数据大小为30mb,则总流量为90mb加上一点开销(用于连接创建,数据包标头,数据包中的数据校验和)

  2. 如果您的意思是流量。我相信目前Hdfs在客户端< - >之间没有带宽限制。 DN和DN< - > DN。它将尽可能多地使用带宽。

  3. 如果您注意到旧数据节点和新数据节点之间有更多数据流。当某些块之前未被复制时,可能会发生这种情况。添加新节点后,NameNode会定期将复制任务从旧DN安排到其他DN(不一定是新DN)。

答案 1 :(得分:0)

坚持!!您说在数据传输期间带宽被过度使用或者在放置数据后DN未平衡,因为平衡器用于平衡群集中节点上存在的数据量。