如何使用Flume将Wireshark数据写入HBase

问题描述 投票:1回答:1

我正在尝试使用以下代理配置将实时Wireshark数据与Flume一起放入HBase。

来源

A1.Source.k1.type= exec
A1.Source.k1.command = tail -f /usr/sbin/tshark

接收器

A1.Sinks.C1.Type =  hbase
A1.Sinks.C1.columnFamily =
A1.Sinks.C1.table =  

而且我在根目录中使用tshark

Tshark -i eth0

似乎已存储数据,但看起来像这样-x0/x0/x0/

任何我错的地方

hadoop hbase wireshark flume
1个回答
0
投票

Flume HBase Sinks要求您提供一些用于配置事件序列化器的附加参数。哪一个与序列化器有关。

由于您未在接收器配置中指定任何串行器,因此将使用默认的org.apache.flume.sink.hbase.SimpleHbaseEventSerializer。基于the documentation,它至少需要三个参数才能执行有用的操作:

[cf:列族。

没有默认值的组件,如果为null则不使用:

payloadColumn:将有效负载放入哪一列。如果为null,则事件数据将不会被写入。

incColumn:要增加的列。空值表示没有列增加。

由于您已经在提供色谱柱系列,我相信您需要添加其他两个,如下所示:

A1.Sinks.C1.payloadColumn = data
A1.Sinks.C1.table.incColumn = lnum

-编辑-

水槽来源:

  1. 我不是tshark的专家,但您不必重定向它标出要捕获的文件吗?试试这个$ tshark -i eth0 > /<some/path>/tshark.out
  2. 将源配置更改为A1.Source.k1.command = tail -F /<some/path>/tshark.out(-F后跟重试选项)。
© www.soinside.com 2019 - 2024. All rights reserved.