当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1
组件命名二:单个source,多个sink用这个,当然有副本和负载均衡等模式
# Name the components on this agenta1.sources = r1a1.sinks = k1 k2a1.channels = c1 c2# 将数据流复制给多个channel 副本,还有负载均衡a1.sources.r1.selector.type = replicating
一、source配置
1、netcat的source:bind指定IP,port指定port
# Describe/configure the sourcea1.sources.r1.type = netcata1.sources.r1.bind = localhosta1.sources.r1.port = 44444
一、什么是flume
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
二、flume特点
flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。
flume的可靠性
当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
概述
本篇文章是根据Flume官网对Flume组件(Source,Channel,Sink)的常用配置参数做一个主要介绍,如有表达意思错误希望不吝指出。
Sources
Flume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体介绍如下。
NetCat Source
NetCat Source可以使用TCP和UDP两种协议方式,使用方法基本相同,通过监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写入到Channel中。(必须参数以@标示,下类同)
1
2
3
4
5
6
7
8
9
10
11
Avro Source
不同主机上的Agent通过网络传输数据可使用的Source,一般是接受Avro client的数据,或和是上一级Agent的Avro Sink成对存在。
1
2
3
4
5
6
7
8
9
10
11
Exec Source
Exec source通过执行给定的Unix命令的传输结果数据,如,cat,tail -F等,实时性比较高,但是一旦Agent进程出现问题,可能会导致数据的丢失。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Spooling Directory Source
通过监控一个文件夹将新增文件内容转换成Event传输数据,特点是不会丢失数据,使用Spooling Directory Source需要注意的两点是,1)不能对被监控的文件夹下的新增的文件做出任何更改,2)新增到监控文件夹的文件名称必须是唯一的。由于是对整个新增文件的监控,Spooling Directory Source的实时性相对较低,不过可以采用对文件高粒度分割达到近似实时。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Taildir Source
可以实时的监控指定一个或多个文件中的新增内容,由于该方式将数据的偏移量保存在一个指定的json文件中,即使在Agent挂掉或被kill也不会有数据的丢失,需要注意的是,该Source不能在Windows上使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Channels
官网提供的Channel有多种类型可供选择,这里介绍Memory Channel和File Channel。
Memory Channel
Memory Channel是使用内存来存储Event,使用内存的意味着数据传输速率会很快,但是当Agent挂掉后,存储在Channel中的数据将会丢失。
1
2
3
4
5
6
7
File Channel
File Channel使用磁盘来存储Event,速率相对于Memory Channel较慢,但数据不会丢失。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sinks
Flume常用Sinks有Log Sink,HDFS Sink,Avro Sink,Kafka Sink,当然也可以自定义Sink。
Logger Sink
Logger Sink以INFO 级别的日志记录到log日志中,这种方式通常用于测试。
1
2
3
4
HDFS Sink
Sink数据到HDFS,目前支持text 和 sequence files两种文件格式,支持压缩,并可以对数据进行分区,分桶存储。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Avro Sink
Kafka Sink
传输数据到Kafka中,需要注意的是Flume版本和Kafka版本的兼容性
这种模式,有两种方式,一种是用来复制(Replication),另一种是用来分流(Multiplexing)。Replication方式,可以将最前端的数据源复制多份,分别传递到多个channel中,每个channel接收到的数据都是相同的。
一、什么是flume
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
二、flume特点
flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。
flume的可靠性
当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
一、什么是flume
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
二、flume特点
flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。
flume的可靠性
当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。
有两种方式,一种是用来复制(Replication),另一种是用来分流(Multiplexing)。Replication方式,可以将最前端的数据源复制多份,分别传递到多个channel中,每个channel接收到的数据都是相同的。
无论是怎么配置在开头出都要进行命名
组件命名一:单个source和sink用这个
组件命名二:单个source,多个sink用这个,当然有副本和负载均衡等模式
无论是怎么配置在开头出都要进行命名
组件命名一:单个source和sink用这个
组件命名二:单个source,多个sink用这个,当然有副本和负载均衡等模式
一、source配置
1、netcat的source:bind指定IP,port指定port
2、读文件exec:commd中写命令,如果用tail的话记得用大写的F
3、读取文件夹source:spooldir source ,tmp记得一定要忽略
4、最常用的source: arvo模式,bind指的是接收的主机,port不是随意的,是看sink给的端口
二、sink配置文件
sink的选择特别多,常用的是hdfs,kafka,hbase,logger,同时还可能是avro,arvo主要是给下一个flume接收
1、hdfs的sink:
2、arvo sink:hostname是IP指的是发送给谁,port指的是监听端口可以任意写
3、logger sink: 如果是像在控制台看打印,要在命令加,-Dflume.root.logger=INFO,console
4、hbase待续
三、channel的配置
channel主要分为memory channel和file channel,如果是要求速度和不追求数据的完整性用,memory channel, 一般也都用它
1、memory channel:1000指的是队列的容量,100指的是sink取数据的时候最大值
2、file channel:见文档
四、channel 和source,sink的绑定
1、单个source和单个sink
2、单个source和多个
启动命令是: bin/flume-ng agent --conf conf/ --name a1 --conf-file job/flume-dir-hdfs.conf
或者是bin/flume-ng agent -a a1 -c conf/ --conf -f job/flume-dir-hdfs.conf a1不是乱写的
相关问题推荐
数据库设计的根本目标是要解决A)数据共享问题 B)数据安全问题C)大量数据存储问题 D)简化数据维护一般书上很少这么提,大家在答这个题的时候,可以从数据库的概念上入手,数据库设计的根本目标是要解决应该是共享问题。四个答案可以做一些比较,最好的答案...
bin/flume-ng agent \ --conf ./conf/ \ -f conf/file_memory_avro.conf \ -Dflume.root.logger=DEBUG,console \ -n agent1
概述本篇文章是根据Flume官网对Flume组件(Source,Channel,Sink)的常用配置参数做一个主要介绍,如有表达意思错误希望不吝指出。SourcesFlume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体...
flume和kafka的侧重点不同,flume追求的是数据和数据源、数据流向的多样性,适合多个生产者的场景;flume有自己内置的多种source和sink组件,具体操作方式是编写source、channel和sink的.conf配置文件,开启flume组件的时候用命令关联读取配置文件实现kafka追...
Flume的运行原理是:Flume的核心角色为Agent,Flume分布式系统常常是由很多的Agent连接而形成的。Agent内部有三个组件,一是Source采集源,用于跟数据源对接,获取数据。二是Channel通道,Agent内部的数据传输通道,用于从source将数据传递到Sink。三是Sink目...
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。...
想考计算机相关证书或者想学技术的同学可以抓紧时间啦!双11更多优惠活动详情咨询18597153017(微信同号)
一、Selector(选择器)Selector概述Selector(选择器)可以工作在复制或多路复用(路由) 模式下 。复制模式Selector复制模式-属性说明selector.type replicating 类型名称,默认是 replicatingselector.optional – 标志通道为可选Selector复制模式-案例 #命...
(1)电子商务网站比如我们在做一个电子商务网站,然后我们想从消费用户中访问点特定的节点区域来分析消费者的行为或者购买意图. 这样我们就可以更加快速的将他想要的推送到界面上,实现这一点,我们需要将获取到的她访问的页面以及点击的产品数据等日志数据信...