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. swift类型转换之Could not cast value of type xxx to xxx错误的一种特殊情况记录

    之前swift项目打包成Framework静态库,提供给OC项目套入使用时,有时会抱这样一个错误: 这个错误发生的概率比较随机,有时会,有时不会,而且这句话在swift中的使用,是做model类型强制 ...

  2. Java6 WebService的发布(转)

      Java6 WebService的发布   转:http://lavasoft.blog.51cto.com/62575/227988/   WebService服务发布往往比较混乱,Axis2的 ...

  3. App 开发步骤

    在 iOS 开发中,写一个 App 很容易,但是要写好一个 App,确是要下另一番功夫.首先,我们来看一个 App 的开发要求: 写一个 App,显示出 Spotify 上 Lady Gaga 相关的 ...

  4. 【LeetCode】200. Number of Islands (2 solutions)

    Number of Islands Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. ...

  5. ubuntu安装包查找及安装

    官方包源: http://packages.ubuntu.com/ ubuntu下当前安装的包保存在在:/var/cache/apt/archives ubuntu下当前安装的运用: /usr/sha ...

  6. POJ 2391 Ombrophobic Bovines (Floyd + Dinic +二分)

    Ombrophobic Bovines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11651   Accepted: 2 ...

  7. 简单几步让CentOS系统时间同步(转)

    在使用CentOS系统的时候,我们可能会遇到时间不准的问题,那我们如何解决这个我问题呢,下面就来教大家一个CentOS系统时间同步的方法,希望大家可以解决自己所存在的疑问. CentOS系统时间同步的 ...

  8. MongoDB资料汇总专题

    原文地址:http://bbs.chinaunix.net/thread-3675396-1-1.html 上一篇Redis资料汇总专题很受大家欢迎,这里将MongoDB的系列资料也进行了简单整理.希 ...

  9. 【Android】Android如何对APK反编译

    本文笔者粗略的介绍如何利用一些工具,对Android进行反编译,从而得到源码,希望对你有所帮助,笔者的android环境为4.4.2. 1.准备资源. 在开始之前,需要准备三项工具:apktool  ...

  10. Pusher 消息推送测试工具

    1.Pusher 简介 Pusher 是一款为 iOS.Mac App 提供推送测试的小工具. 其它下载地址 Pusher v0.7.3 for Mac,密码:p19i. 2.使用方法 使用方法简介 ...