一次HDFS JN lag延时问题的排查分析后续:RM陡增traffic的来源分析

前言在上篇文章(一次HDFS JournalNode transaction lag问题分析排查)中,笔者详细地讲述了一次HDFS JN lag延时问题的分析排查,在文中结尾笔者提到了问题的root cause是因为部署在JN同节点上的RM traffic陡增造成的JN lag影响。不过笔者当时只是发现了与RM traffic陡增的可能因素,并未进一步分析这些增加的RM traffic的真正来源。在后续的时间里,我们对这些RM traffic的组成部分以及为什么做了更加进一步的分析,最终真正找到了问题的
摘要由CSDN通过智能技术生成

前言


在上篇文章(一次HDFS JournalNode transaction lag问题分析排查)中,笔者详细地讲述了一次HDFS JN lag延时问题的分析排查,在文中结尾笔者提到了问题的root cause是因为部署在JN同节点上的RM traffic陡增造成的JN lag影响。不过笔者当时只是发现了与RM traffic陡增的可能因素,并未进一步分析这些增加的RM traffic的真正来源。在后续的时间里,我们对这些RM traffic的组成部分以及为什么做了更加进一步的分析,最终真正找到了问题的来源。本文笔者将简单阐述JN lag问题的后续问题:RM traffic陡增的缘由。

背景


首先提供RM traffic陡增的一个趋势图,如下图所示(在上篇JN lag的文章中也提到过)。
在这里插入图片描述
当时的一个推测方向是部分业务方的业务上的调整,导致了此部分流量的变化。为了更加明确我们的这个猜想,后续我们进行了对RM traffic的进一步分析。

iftop命令分析

在Linux的工具命令中,iftop命令能够检测出准实时的节点带宽使用的多少。于是,我们在RM的机器上进行了iftop的执行,命令执行结果如下:

命令:sudo iftop -B -P

rm-node:8031            => nm-node1:42810  47.2KB  94.4KB  94.4KB
                        <=                                                       996B   2.15KB  2.15KB
rm-node:8031            => nm-node2:37624  47.2KB  82.6KB  82.6KB
                        <=                                                      1.33KB  1.95KB  1.95KB
rm-node:8031            => nm-node3:46594   141KB  82.5KB  82.5KB
                        <=                                                      2.96KB  1.97KB  1.97KB
rm-node:8031            => nm-node4:59782  47.2KB  82.6KB  82.6KB
                        <=                                                      1.12KB  1.90KB  1.90KB
rm-node:8031            => nm-node5:41700  47.2KB  82.6KB  82.6KB
                        <=                                                      1.18KB  1.79KB  1.79KB
rm-node:8031            => nm-node6:50672  47.2KB  82.6KB  82.6KB
                        <=                                                       966B   1.79KB  1.79KB
rm-node:8031            => nm-node7:55306  94.4KB  82.6KB  82.6KB
                        <=                                                      1.88KB  1.71KB  1.71KB
rm-node:8031            => nm-node8:51870  47.2KB  82.6KB  82.6KB
                        <=                                                      1.71KB  1.68KB  1.68KB
rm-node:8031           => nm-node9:49730  47.3KB  82.6KB  82.6KB
                        <=                                                       907B   1.62KB  1.62KB

上图数据是其中截取的一个时刻点的RM traffic数据。我们得到了许多十分关键的信息:

  • RM的traffic使用主要集中在8031端口的数据传输上。
  • 在RM 8031口的通信过程中,从RM到NM的数据传输要远大于从NM到RM的方向的数据传输。

再进一步分析RM 8031口的用途,主要用于做RM、NM之间进行heartbeat通信的。我们再转换成上面iftop的语义,NM向RM发送node heartbeat,数据量比较小,但是RM返回给NM的heartbeat response则耗费了同比大很多倍的内容大小。

tcpdump的同期验证


同期,我们挑选了1台NM,用tcpdump命令,抓取在此机器上的实时流量,src和dst分别设置成rm机器进行测试。

结果如下:

NM->RM
命令:tcpdump dst rm-node

20:16:48.028768 IP nm-node.38708 > rm-node.8031: Flags [P.], seq 13088574:13092670, ack 4233065, win 2893, options [nop,nop,TS val 561229060 ecr 498327940], length 4096
20:16:48.028778 IP nm-node.38708 > rm-node.8031: Flags [P.], seq 13092670:13096766, ack 4233065, win 2893, options [nop,nop,TS val 561229060 ecr 498327941], length 4096
20:16:48.028791 IP nm-node.38708 > rm-node.8031: Flags [P.], seq 13096766:13100862, ack 4233065, win 2893, options [nop,nop,TS val 561229060 ecr 498327941], length 4096
20:16:48.028800 IP nm-node.38708 > rm-node.8031: Flags [P.], seq 13100862:13104958
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值