
flume
鸭梨山大哎
life hard take it easy
展开
-
Flume 知识点总结
Flume组成,Put事务,Take事务Taildir Source:断点续传、多目录。Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现断点续传。File Channel:数据存储在磁盘,宕机数据可以保存。但是传输速率慢。适合对数据传输可靠性要求高的场景,比如,金融行业。Memory Channel:数据存储在内存中,宕机数据丢失。传输速率快。适合对数据传输可靠性要求不高的场景,比如,普通的日志数据。Kafka Channel:减少了Flume的Sink阶段,提高了传输效率。原创 2021-01-29 09:20:57 · 384 阅读 · 0 评论 -
flume hdfs sink 文件滚动策略
一般使用hdfs sink都会采用滚动生成文件的方式,hdfs sink滚动生成文件的策略有:基于时间基于文件大小基于hdfs文件副本数(一般要规避这种情况)基于event数量基于文件闲置时间基于时间配置项:hdfs.rollInterval默认值:30秒说明:如果设置为0表示禁用这个策略基于文件大小和event数量策略配置项:文件大小策略:hdfs.rollSizeevent数量策略:hdfs.rollCount默认值:文件大小策略:1024字节,也就是1KBevent数原创 2021-01-23 16:57:44 · 1244 阅读 · 0 评论 -
日志采集架构
架构11:线上请求打向nginx后,使用lua完成日志整理:如统一日志格式,过滤无效请求,分组等。2:根据不同业务的nginx日志,划分不同的topic。3:lua实现producter异步发送到kafka集群。4:对不同日志感兴趣的业务组实时消费获取日志数据。架构2nginx + flume + kafka...原创 2021-01-09 10:46:19 · 256 阅读 · 0 评论 -
flume流程之taildir-memory-hdfs
如下#agent1 nameagent1.channels = c1agent1.sources = r1agent1.sinks = k1agent1.sources.r1.channels = c1#监控文件夹agent1.sources.r1.type = TAILDIR#元数据保存位置agent1.sources.r1.positionFile = /home/data/flume_log/taildir_position.jsonagent1.sources.r1.fileg原创 2020-12-23 16:39:46 · 291 阅读 · 0 评论 -
flume与kafka的整合
flume采集数据到lafka上案例1:将flume采集到的数据落地到kafka上,即sink是kafka(生产者身份)vim syslog-mem-kafka.conf# 命名个组件a1.sources = r1a1.sinks = k1a1.channels = c1 #source属性a1.sources.r1.type = syslogtcpa1.sources.r1.host=mypc01a1.sources.r1.port=10086 # 描述channel属性a1原创 2020-12-01 13:59:18 · 271 阅读 · 0 评论 -
flume流程之http-memory-hdfs
主要需要了解http source的一些属性,最重要的就是bind以及监听端口.配置参数 默认值 描述# 命名个组件b1001.sources = r1b1001.sinks = k1b1001.channels = c1 #source属性b1001.sources.r1.type = httpb1001.sources.r1.bind=0.0.0.0b1001.sources.r1.port=9666 # 描述channel属性b1001.channels.c1.type原创 2020-11-03 20:56:53 · 554 阅读 · 0 评论 -
flume流程之SpoolDir-memory-hdfs
写一个flume流程,source为spooldir,channel为memory,sink为hdfs. 网上搜索一下,稍加修改即可.%Y%m%d/%H%M注意区分大小写. 这个代表每1min建立一个文件,频率还是比较高的,仅供测试用途.使用日期作为路径a1.sinks.k1.hdfs.useLocalTimeStamp = true这个属性要设为truespoolDir为可靠源,可以监控新增文件.# 命名个组件a1.sources = r1a1.sinks = k1a1.channels原创 2020-11-02 21:11:22 · 301 阅读 · 0 评论 -
flume channel
Channel中定义了2个方法, 放入event 以及取出event. 就这么简单public interface Channel extends LifecycleAware, NamedComponent { /** * <p>Puts the given event into the channel.</p> * <p><strong>Note</strong>: This method must be invoked w原创 2020-10-28 08:42:41 · 118 阅读 · 0 评论 -
flume正则拦截器
属性regex就是要传入的参数 正则表达式excludeEvents 是一个布尔值,就是说你是要符号正则的,还是不符合正则的内容. private static final Logger logger = LoggerFactory .getLogger(RegexFilteringInterceptor.class); private final Pattern regex; private final boolean excludeEvents;构造函数privat原创 2020-10-27 22:06:42 · 435 阅读 · 0 评论 -
flume故障转移
什么是sink故障转移? 比如本来是source1 — channerl1 – sink1 这样简单的模型可是sink1挂了怎么办呢?这时候整个通路就挂掉了,不科学.所以可以多设置几个sink. 比如设置一个sink的池子,有sink1,sink2.然后设置优先级, sink1 10,sink2 5. 正常情况下用sink1. sink2闲置. 如果sink1挂了,就启用sink2. 模拟这种情况,flume如何杀死一个sink1 还能保证source1和channel1活着呢? 貌似不行.加一个agen原创 2020-10-27 20:58:37 · 693 阅读 · 0 评论 -
flume 选择器
选择器干什么的?选择什么?只有多个channel的时候才会用到选择器.可以选择把source中的数据如何分配给各个channel.复制选择器就是复制好几份,每个channel都来一份一样的.多路复用选择器俺一定的规则划分,这个更实用点,毕竟没事搞那么多副本干啥.这个也是依据header中的键值对来进行匹配,然后把单个source中内容根据header 中key的value的不同分发到不同的channel中去.举个例子[root@mypc01 flumeconf]# vim multiplexi原创 2020-10-27 19:58:15 · 757 阅读 · 0 评论 -
flume拦截器及自定义拦截器
拦截器做什么呢?时间拦截器以时间拦截器为例.会在Event的header中添加一个属性进去,属性的key叫做timestamp, value是当前的毫秒值.问题是写到header然后呢?有啥用呢? 就是在比如说保存到hdfs上时,这个header中的时间戳的value可以作为文件夹的目录,这样就比较方便. 也可以比如说加到文件名上面.a1.sources.r1.interceptors = i1 i2 i3a1.sources.r1.interceptors.i1.type = timestam原创 2020-10-27 18:45:41 · 864 阅读 · 0 评论 -
Flume Event
event是一个接口.实现了四个方法.headers是map类型,里面是键值对.body的类型是byte[]public interface Event { /** * Returns a map of name-value pairs describing the data stored in the body. */ public Map<String, String> getHeaders(); /** * Set the event header原创 2020-10-27 13:56:46 · 911 阅读 · 0 评论 -
flume体系结构
Flume的最小运行单元是Agent,Agent里至少要有三大核心组件Source,channel,Sink.Agent在运行时,就占一个JVM。Flume的组件有:– source组件:作用是与数据源进行交互,采集数据,封装成event, 将event传输给channel– channel组件:作用是将source传输的event进行缓存,然后再传输给sink。– sink组件:作用是接收channel传过来的event下沉到存储系统上或者是下一个Agent的source组件中– event.原创 2020-10-27 08:59:55 · 457 阅读 · 0 评论