FLUME KAFKA SOURCE 和 SINK 使用同一个 TOPIC 最近做了一个事情,过滤下kakfa中的数据后,做这个就用到了flume,直接使用flume source 和 flume sink,中间再加一个过滤的intercetpor就可以了. 要做的事情很简单,但是遇到了一个问题,就是sink中指定的topic不起作用. 过程是这样的: KafkaSource.doProcess方法会给event的header中添加一个topic信息,里面保存了消费的topic. if (!he…
Flume – 初识flume.source和sink 目录基本概念常用源 Source常用sink 基本概念  什么叫flume? 分布式,可靠的大量日志收集.聚合和移动工具.  events 事件,是一行数据的字节数据,是flume发送文件的基本单位.  flume配置文件 重命名flume-env.sh.template为flume-env.sh,并添加[export JAVA_HOME=/soft/jdk]  flume的Agent source //从哪儿读数据. 负责监控并收…
数据源Source RPC异构流数据交换 Avro Source Thrift Source 文件或目录变化监听 Exec Source Spooling Directory Source Taildir Source MQ或队列订阅数据持续监听 JMS Source SSL and JMS Source Kafka Source Network类数据交换 NetCat TCP Source NetCat UDP Source HTTP Source Syslog Sources Syslog…
1.Event event是flume传输的最小对象,从source获取数据后会先封装成event,然后将event发送到channel,sink从channel拿event消费. event由头headers和身体(body)两部分组成:Headers部分是一个map,body部分可以是String或者byte[]等.其中body部分是真正存放数据的地方,headers部分用于本节所讲的interceptor. 2.Source 自定义Source,自定义的Event需要继承PollableS…
本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F xxx.log 的方式) source来获取日志时,当单条日志过大超过1M时,source端无法从日志中获取到Event.2.日志超过1M后,flume的kafka sink 作为生产者发送给日志给kafka失败,kafka无法收到消息.以下针对踩的这两个坑做分析,flume 我使用的是1.9.0…
1.avro source和kafka source 1.1 avro source avro source是通过监听一个网络端口来收数据,而且接受的数据必须是使用avro序列化框架序列化后的数据.avro是一种序列化框架,并且是跨语言的. 扩展:什么是序列化,什么是序列化框架? 序列化:是将一个有复杂结构的数据块(对象)编程扁平(线性的)二进制序列 序列化框架:一套现成的软件,可以按照既定策略,将对象转成二进制序列 比如:jdk有ObjectOutputStream,hadoop有Writab…
一.Flume简介 1. Flume概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. 2. Flume系统功能 日志收集 Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据. 数据处理 Flume提供对数据进行…
--------20190905更新------- 沙雕了,可以用  JSONKeyValueDeserializationSchema,接收ObjectNode的数据,如果有key,会放在ObjectNode中 if (record.key() != null) { node.set("key", mapper.readValue(record.key(), JsonNode.class)); } if (record.value() != null) { node.set(&quo…
官方文档参数解释:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink 需要注意:文件格式,fileType=DataStream 默认为SequenceFile,是hadoop的文件格式,改为DataStream就可直接读了(SqeuenceFile怎么用还不知道..)配置文件: hdfs.conf a1.sources = r1a1.sinks = k1a1.channels = c1 # Describe/configure the s…
需求与场景 上游某业务数据量特别大,进入到kafka一个topic中(当然了这个topic的partition数必然多,有人肯定疑问为什么非要把如此庞大的数据写入到1个topic里,历史留下的问题,现状就是如此庞大的数据集中在一个topic里).这就需要根据一些业务规则把这个大数据量的topic数据分发到多个(成百上千)topic中,以便下游的多个job去消费自己topic的数据,这样上下游之间的耦合性就降低了,也让下游的job轻松了很多,下游的job只处理属于自己的数据,避免成百上千的job都…