1. 介绍

最近在使用alluxio的时候发现了网络流量比较大。我们将MR程序运行在alluxio上,发现即使做好了mapper的data local仍然会存在比较多的异常流量。这部分网络IO会对性能造成比较大的影响。我将按照以下步骤来分析这个alluxio异常网络流量的问题。这个步骤也比较具备通用性。

  1. 确定流量消耗较大的端口:使用iftop和netstat确定流量消耗较大的进程和端口
  2. 抓包:使用tcpdump抓取流量较大端口的包
  3. 分析:使用winshark分析包内数据

2. 准备工作

2.1 tcpdump

在运行alluxio的各个节点上安装tcpdump。

yum install tcpdump

用法:
tcpdump -i 网络设备名 [可选的其他额外选项]

通过几个例子来了解tcpdump的主要用法:

#1. 获取10.8.12.16和10.8.12.17或者10.8.12.18在非80端口上通信的tcp包信息,并且以详细方式显示,再写入当前目录下的net.dump文件。注意host port信息放在最后
sudo tcpdump -vv -w net.dump host 10.8.12.16 and \(10.8.12.17 or 10.8.12.18\) and port ! 80 and tcp #2. src 和dsc用法,可以用在hostname或者端口前面。下面例子表示只抓取10.8.12.16为源,目标是80端口的数据包
tcpdump src host 10.8.12.16 and dst port 80

2.2 winshark

服务器上只有终端,我们在本地的win环境下安装下winshark.

winshark官方下载

2.3 安装iftop

iftop工具可以帮助我们定位哪些端口上的流量比较大,这样我们使用tcpdump的时候就更加的有针对性了。
关于iftop的安装使用可以参考我的另外一篇文章:iftop工具监控网络流量

2.4 alluxio网络通信相关的端口

alluxio是主从结构的,我们就监控下master 和worker之间通信的包信息即可。

alluxio相关的端口信息如下所示,主要是数据端口和非数据端口(元数据、心跳信息等)。

# 数据端口
alluxio.worker.data.port=29999
# worker非数据端口
alluxio.worker.port=29998
# master端口
alluxio.master.port=19998

3.iftop 锁定消耗流量最大的端口

我们在alluxio上运行一个MR程序,统计一个10G文件的行数。为了能准确定位真正的异常流量在哪,我们首先进行了多次实验来做预热,保证该10G文件在整个alluxio中能有足够的冗余块,保证mapper的数据本地化。

然后使用iftop工具分别监控master的19998端口和worker的29999端口和29998端口。

进入iftop可以按下l然后输入端口号来过滤结果。但是iftop最多统计40秒的值,所以截图不太方便,所以这里就只公布结果和部分截图:

  1. 无论是否进行预热,master 19998端口上的网络IO都十分小(小于50MB),对性能影响可忽略
  2. 无论是否进行数据预热,在worker节点的29999端口上会存在大量的网络IO,如下图所示。但是如果数据没有进行数据预热,29999端口上的网络IO会更大。例如10G数据进行统计行数,不进行数据预热,会有十几G的网络IO,而预热完整后,有2G不到的数据。

虽然MR JOB运行后显示map任务的data local已经全部做到了,但是仍然有约1.5G左右的网络IO。

4. dump数据

现在首先初步确定29999这个alluxio的数据端口是有流量异常的。根据alluxio上面的显示,块信息还没有在每个节点上都保留完整的一份。所以初步猜想可能还是在进行数据块的复制。

我们使用tcpdump抓取下。

使用命令

# 监控29999端口的流量,每个包64字节字节
sudo tcpdump -vv -w net.dump port 29999
# 监控所有经过网卡的包
sudo tcpdump -vv -w net.dump

5. winshark中加载看看

可以端口过滤看看,发现确实主要都是29999端口上的数据通信。

alluxio网络流量异常分析【转】的更多相关文章

  1. CentOS下使用Iptraf进行网络流量的分析笔记

    CentOS下使用Iptraf进行网络流量的分析笔记 一.概述 Iptraf是一款linux环境下,监控网络流量的一款绝佳的免费小软件. 本博客其他随笔参考: Centos安装流量监控工具iftop笔 ...

  2. activeMQ消费消息时网络流量异常大的问题

    http://www.cnblogs.com/baibaluo/archive/2012/12/24/2748468.html#2590289 公司有一个应用,多个线程从activeMQ中取消息,随着 ...

  3. CentOS 6.4 搭建 ntop 网络流量监控分析平台

    [前言] Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观.详细.Ntop甚至可以列出每个节点计算机的网络带宽利用率. 功能: 自动从网络中识别有用的信息: ...

  4. 使用WireShark进行网络流量安全分析

    WireShark的过滤规则 伯克利包过滤(BPF)(应用在wireshark的捕获过滤器上) ** 伯克利包过滤中的限定符有下面的三种:** Type:这种限定符表示指代的对象,例如IP地址,子网或 ...

  5. 5-Spark高级数据分析-第五章 基于K均值聚类的网络流量异常检测

    据我们所知,有‘已知的已知’,有些事,我们知道我们知道:我们也知道,有 ‘已知的未知’,也就是说,有些事,我们现在知道我们不知道.但是,同样存在‘不知的不知’——有些事,我们不知道我们不知道. 上一章 ...

  6. calico 网络流量 过程 分析 apt-get install telnet

    1.calico node 容器在kubernetes中以DaemonSet 的方式运行,容器的网络模式为hostNetwor,与host共享网络栈,拥有相同的Ip和hostname 2.查看某个po ...

  7. 网络流量监控分析工具 Ntopng 安装

    官方说明:http://packages.ntop.org/      http://packages.ntop.org/centos-stable/   http://packages.ntop.o ...

  8. 使用isolation forest进行dns网络流量异常检测

    代码如下,测试发现,是否对输入数据进行归一化/标准化对于结果没有影响: import numpy as np from sklearn.ensemble import IsolationForest ...

  9. 网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析

    科来 做流量分析,同时也做了一些安全分析(偏APT)——参考其官网:http://www.colasoft.com.cn/cases-and-application/network-security- ...

随机推荐

  1. hihocoder第233周

    题目链接 题目描述 给定一个数组a[N],N小于1e5.把数组划分成若干个片段,每个片段的和都不为0,问有多少种划分方法? 方法描述 定义f(i)表示0~i共有多少种划分方式,则$f(j)=\sum_ ...

  2. 【LeetCode】208. Implement Trie (Prefix Tree)

    Implement Trie (Prefix Tree) Implement a trie with insert, search, and startsWith methods. Note:You ...

  3. apache日志记录格式LogFormat参数说明

    在apache的配置文件httpd.conf里一般都有类似于LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Refere ...

  4. SoapUI利用Groovy把外部数据加载到request中

    默认已经用Groovy把外部数据给读取出来了,关键是读取出来后,如何加载到request中去?这里提供了两种方法:1.该Groovy脚本的名称是"setUp" def num = ...

  5. HDU 1023 Train Problem II (大数卡特兰数)

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. java.lang.IllegalStateException: No typehandler found for mapping XXX

    前言:今天遇到了这个问题,刚开始觉得很容易解决的,毕竟能定位到出问题的文件和对应的字段,根据以往的经验也可以判断出是字段映射类型不匹配的问题,后来找了半天还是没找到问题的根源,从网上百度,也没看到令人 ...

  7. 【sql】CHARINDEX

    语法:CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] ) 参数: 1)expressionToFind 包含 ...

  8. stm8时钟

    为使系统快速启动,复位后时钟控制器自动使用HSI的8分频(HSI/8)做为主时钟(2M).其原因为HSI的稳定时间短,而8分频可保证系统在较差的VDD条件下安全启动.一旦主时钟源稳定,用户程序可将主时 ...

  9. 基础004_V7-DSP Slice

    主要参考ug479.pdf.之前的文章:FIR调用DSP48E_05.本文主要记录基本用法. 一.DSP48核 A-参数说明 instrctions,多个功能,通过sel选用 目前没发现C勾选与否,有 ...

  10. 使用NPOI 转换Excel TO HTML (导出格式不如原生Excel好看)

    //HSSFWorkbook workbook = ExcelToHtmlUtils.LoadXls(strPath); //ExcelToHtmlConverter excelToHtmlConve ...