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. Linux基本数据类型大小——int,char,long int,long long int

    转自:http://paddy-w.iteye.com/blog/1403217 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h ...

  2. nginx 安装SSL安全证书

    安装证书 文件说明: 1. 证书文件214051493730988.pem,包含两段内容,请不要删除任何一段内容. 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214051493730988 ...

  3. jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法(转)

    系统默认的滚动条样式,真的已经看的够恶心了.试想一下,如果在一个很有特色和创意的网页中,出现了一根系统中默认的滚动条样式,会有多么的别扭. 为了自己定义网页中的滚动条的方法,我真的已经找了很久了,就目 ...

  4. Tensorflow 相关概念

    一.概述 人工智能:artificial intelligence 权重: weights 偏差:biases 图中包含输入( input).塑形( reshape). Relu 层( Relulay ...

  5. 【HTML】 向网页<Title></Title>中插入图片以及跑马灯

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style typ ...

  6. virtualbox主机与虚拟机互访,虚拟机上网

    实现virtualbox主机与虚拟机互访,同时虚拟机还可以上网: 主要通过配置两块网卡来实现: 1,先配置好一台虚拟机Slave1,这里使用CentOS : 2,使用VirtualBox复制这台虚拟机 ...

  7. Eclipse SQLExplorer插件的安装和使用

    from: http://blog.csdn.net/flashlm/archive/2007/06/30/1672836.aspx 插件名称: SQLExplorer 插件分类: SQL Edito ...

  8. Eclipse配置SQL Explorer插件和数据库

    1.下载SQL Explore插件,地址:http://www.sqlexplorer.org/,下载第三个.复制到eclipse插件相应文件夹重新启动,下载RCP插件能够直接使用exe 2.下载JD ...

  9. js事件之event.preventDefault()与(www.111cn.net)event.stopPropagation()用法区别

    event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...

  10. Android 如何添加一个apk使模拟器和真机都编译进去 m

    添加一个apk都需要将LOCAL_PACKAGE_NAME的值添加到PRODUCT_PACKAGES才行.而PRODUCT_PACKAGES一般在build/target/product/目录下的文件 ...