使用spark 计算netflow数据初探 spark环境的搭建 netflow数据的生成与处理 通过spark 计算netflow数据

spark是一个高性能的并发的计算平台,而netflow是一种一般来说数量级很大的数据。本文记录初步使用spark 计算netflow数据的大致过程。

本文包括以下过程:

1. spark环境的搭建

2. netflow数据的生成与处理

3. 通过spark 计算netflow数据

spark环境的搭建主要分2部分。

  • hadoop的环境的搭建
  • spark的安装

hadoop的安装

hadoop的安装包括,hdfs的安装和yarn的安装。  读本部分之前要先去查阅hdfs和yarn的概念。hdfs是hadoop的分布式文件系统。hdfs的架构为master/slave架构。cluster中有一个唯一的NameNode(master节点),剩下的节点为DataNodes(slave 节点),通常有多个。 hdfs把文件分成多个block,这些block存储在不同的DataNode上。NameNode负责执行对文件进行open,close,rename file&&directory 操作,也负责维护block和DataNode之间的map关系。DataNode则负责block级别 create delete read replication 等操作。 整个架构如下图所示:

使用spark 计算netflow数据初探
spark环境的搭建
netflow数据的生成与处理
通过spark 计算netflow数据

YARN全称是yet another resource manager。 由于hadoop是一个分布式的架构,所以需要一个统一的资源管理器来调度分配各种资源。

spark的安装

如下

netflow数据的生成与处理

netflow是路由器设备在激活了netflow feature后生产的一些统计数据,这些数据会发给收集器如pmacct。 数据转换成csv格式大概如下:

TAG,IN_IFACE,OUT_IFACE,SRC_IP,DST_IP,SRC_PORT,DST_PORT,PROTOCOL,ip_dscp,flow_direction,PACKETS,BYTES
10001,1,1,42.120.83.100,42.120.85.157,12995,18193,ipv6-crypt,16,0,5,2042
10001,1,1,42.120.83.246,42.120.87.145,12517,19733,ospf,10,1,6,2294
10001,1,1,42.120.87.154,42.120.86.250,18757,11987,ipv6-auth,22,1,3,3236

具体请了解netflow。

这里说的处理是指做两件事:

1. 去掉第一行的TAG

2. 加入 timestamp 列

3. 把文件放入HDFS

通过spark 计算netflow数据

这里用spark计算我们需要的数据。