我打算学习Flume,你们觉得怎么样?

Flume视频教程
课程介绍:
详细介绍flume配置与开发全过程,并针对几乎每一个配置进行一个案例分析和演示。
课时相关:共 10 课时,更新至第 10 课时
付费服务:所有课时永久观看(不提供下载);专属课件下载。
1金币=1人民币
&&【免费观看】
讲述flume的基础知识包括flume的基本概念和核心组件。flume是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据的简单处理,并写到各种数据接收方的能力。
讲述flume安装与测试,主要包括flume单机安装与测试、flume集群安装与测试、Arvo环境的搭建以及安装过程中的一些异常的解决方案讲解。
讲述flume部署种类、流配置。其中详细讲解了单一代理、多代理、多路复用流的配置说明。
讲述flume source相关的配置和案例分析,包括了Avro Source配置、Thrift Source配置、Exec Source配置、JMS Source配置、NetCat Source配置、Spooling Directory Source配置、Sequence Generator Source配置、Syslog
TCP Source配置、Multiport
TCP Source配置、Syslog
UDP Source配置、Http Source配置、Custom Source配置。
讲述flume sink相关的配置以及flume channel配置和案例分析,包括了HDFS Sink配置、Logger Sink配置、Avro Sink配置、Thrift Sink配置、IRC Sink配置、File Roll Sink配置、Null Sink配置、Hbase Sink配置、AsyncHbase Sink配置、Custom Sink配置;Memory Channel配置、JDBC Channel配置、File Channel配置、Pseudo Transaction Channel配置、Custom Channel配置。
讲述 flume selector相关配置和案例分析,包括了Replicating Channel Selector配置、Multiplexing Channel Selector配置、Custom Channel Selector配置。
讲述 Flume Sink Processors相关配置和案例分析,包括了Default Sink Processor配置、Failover Sink Processor配置、Load balancing Sink Processor配置。
讲述 Flume Event Serializers、Flume Interceptors相关配置和案例分析,包括了Body Text Serializer配置、Avro Text Serializer配置、Timestamp Interceptor配置、Host Interceptor配置、Static Interceptor配置、Regex Filtering Interceptor配置。
讲述如何进行 flume RPC Client开发,这个是在通常应用中使用的较多的一种方式。
讲述如何进行 flume Sink、flume Source开发。
&&& 1、flume简介-基础知识&& &讲述flume的基础知识包括flume的基本概念和核心组件。flume是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据的简单处理,并写到各种数据接收方的能力。&& &2、flume安装与测试&& &讲述flume安装与测试,主要包括flume单机安装与测试、flume集群安装与测试、Arvo环境的搭建以及安装过程中的一些异常的解决方案讲解&& &3、flume部署方式&& &讲述flume部署种类、流配置。其中详细讲解了单一代理、多代理、多路复用流的配置说明。&& &4、flume source相关配置及测试&& &讲述flume source相关的配置和案例分析,包括了Avro Source配置、Thrift Source配置、Exec Source配置、JMS Source配置、NetCat Source配置、Spooling Directory Source配置、Sequence Generator Source配置、Syslog& TCP Source配置、Multiport& Syslog& TCP Source配置、Syslog& UDP Source配置、Http Source配置、Custom Source配置。&& &5、flume sink相关配置及测试&& &讲述flume sink相关的配置以及flume channel配置和案例分析,包括了HDFS Sink配置、Logger Sink配置、Avro Sink配置、Thrift Sink配置、IRC Sink配置、File Roll Sink配置、Null Sink配置、Hbase Sink配置、AsyncHbase Sink配置、Custom Sink配置;Memory Channel配置、JDBC Channel配置、File Channel配置、Pseudo Transaction Channel配置、Custom Channel配置。&& &6、flume selector 相关配置与案例分析&& &讲述 flume selector相关配置和案例分析,包括了Replicating Channel Selector配置、Multiplexing Channel Selector配置、Custom Channel Selector配置。&& &7、Flume Sink Processors相关配置和案例分析&& &讲述 Flume Sink Processors相关配置和案例分析,包括了Default Sink Processor配置、Failover Sink Processor配置、Load balancing Sink Processor配置。&& &8、Flume Interceptors相关配置和案例分析&& &讲述 Flume Event Serializers、Flume Interceptors相关配置和案例分析,包括了Body Text Serializer配置、Avro Text Serializer配置、Timestamp Interceptor配置、Host Interceptor配置、Static Interceptor配置、Regex Filtering Interceptor配置。&& &9、Flume RPC Client开发&& &讲述如何进行 flume RPC Client开发,这个是在通常应用中使用的较多的一种方式。&& &10、Flume Sink和Flume Source开发&& &讲述如何进行 flume Sink、flume Source开发。
flume部署方式
flume安装与测试
flume部署方式
flume配置深入
flume部署方式
flume自定义开发
flume部署方式
/flume配置案例
flume部署方式
flume自定义开发案例
flume部署方式
1464 人观看
1675 人观看
472 人观看
1219 人观看
320 人观看
156 人观看
5044 人观看
747 人观看
496 人观看
416 人观看
267 人观看
132 人观看
5044 人观看
496 人观看
例子场景描述:将tomcat的日志收集到指定的目录,tomcat 安装在/opt/tomcat,日志存放在var/log/dataagent1.sources = source1agent1.sinks = sink1agent1.channels = channel1&#Describe/configuresource1agent1.sources.source1.type= execagent1.mand= tail -n +0 -F /opt/tomc
1)RPC&&&1、在flume中,Avro客户端使用AVRO RPC机制可以发送一个给定的文件&Avro&源:&&&2、$bin/flume-ngavro-client-H localhost -p&41414&-F /usr/logs/log.10&&&3、上面的命令将发送的/ usr/logs/log.10的内容到 &flume源监听端2)Executing c
1)它是FlumeOG的重构版本,apache来开发管理。2)它变的很简单,Master、zookeeper、collector和WebUI没有了3)简化成了&&& 1、source(avro:很简单使用;exec:使用shell命令)&&& 2、sink(hdfs、file)&&& 3、channel(Memory、disk)
1)collector的作用是将多个agent的数据汇总后,加载到storage中。2)它的source和sink与agent类似。3)自带的数据源(source)&&&1、collectorSource:Collector source,监听端口汇聚数据&&&2、autoCollectorSource:通过master协调物理节点自动汇聚数据&&&3、logicalSource:逻辑source,由master分配
1)console :直接将将数据显示在consolr上2)text(“txtfile”):将数据写到文件txtfile中3)dfs(“dfsfile”):将数据写到HDFS上的dfsfile文件中4)syslogTcp(“host”,port):将数据通过TCP传递给host节点5)agentSink)]:等价于agentE2ESink,如果省略,machine参数,默认使用flume.collector.event.host与flume.collector.event.port作为默认collecot
1)Agent用于采集数据2)agent是flume中产生数据流的地方3)agent会将产生的数据流传输到collector4)flume自带的数据源(source)&&&&1、text(“filename”):将文件filename作为数据源,按行发送&&&&2、tail(“filename”):探测filename新产生的数据,按行发送出去&&&&3、fsyslogTcp(5140)
&1) Flume采用了分层架构:分别为agent,collector和storage。&&2) agent和collector均由两部分组成:source和sink, &&3) source是数据来源,sink是数据去向。&&4) storage用来存储&
 大数据视频监控构架带来的价值  大数据视频架构是革命性的技术,特别在实时智能分析和数据挖掘方面,让视频监控从人工抽检,进步到高效事前预警、事后分析,
多个Sink可以构成一个Sink Group。一个Sink Processor负责从一个指定的Sink Group中激活一个Sink。Sink Processor可以通过组中所有Sink实现负载均衡;也可以在一个Sink失败时转移到另一个. Flume通过Sink Processor实现负载均衡(Load Balancing)和故障转移(failover)内建的Sink Processors:Load Balancing Sink Processor – 使用RANDOM, ROUND_ROBIN或定制的
Channel Selector允许Source基于预设的标准,从所有Channel中,选择一个或多个Channel内建的Channel Selectors:复制Replicating: event被复制到相关的channel复用Multiplexing: 基于hearder,event被路由到特定的channel页面已拦截
无锡网警提示您:
该网站已被大量用户举报,且存在未经证实的信息,可能会通过各种手段来盗取您的账号或骗取您的财产。Flume(26)
转载(349)
Flume配置文件(flume-site.conf)
1、 watchdog
watchdog.restarts.max
watchdog每分钟重启的最大数???
2、 common node
flume.config.heartbeat.period
node发送心跳周期,默认5000(毫秒)
flume.node.status.port
node web端口
flume.node.heartbeat.backoff.ceiling
node向master发送心跳之后等待反馈的最大时长,默认60000(毫秒)
flume.node.http.autofindport
如果已有node启动,允许第二个node自动选择一个未使用的端口做web服务。多个node的界面端口从3向后延续
flume.agent.logdir
agent日志路径
flume.agent.logdir.maxage
当前处于打开状态agent日志文件收集信息的时长,在这之后该日志文件将会被关闭,并将数据发送到网络,默认10000(毫秒)
flume.agent.logdir.retransmit
在end-to-end模式下agent向collector发送数据失败后再次发送的间隔时长,默认60000(毫秒),建议至少是flume.collector.roll.millis的两倍
flume.agent.failover.backoff.initial
当primary sink(可以认为是第一collector)故障后,重启primary sink的一个延迟时间,在此期间,agent将把数据发送到secondary sink(可能是第二collector)
flume.agent.failover.backoff.max
在一定时限内尝试链接故障节点失败后,agent将把数据转发向备用节点
4、collector
flume.collector.event.host
默认collector地址
flume.collector.port
默认collector端口
flume.collector.dfs.dir
最终数据发向目录(默认),可以是本地,可以是hdfs,默认是/tmp
flume.press.codec
压缩格式GzipCodec, DefaultCodec (deflate), BZip2Codec,默认是None
flume.collector.roll.millis
hdfs文件切换(关闭后新建)的时长
flume.collector.output.format
collector发送数据格式avro, avrojson(默认), avrodata…
flume.master.servers
用逗号分隔多个master地址列表
flume.master.store
master配置存储方式(zookeeper/memory) zookeeper保证master的配置在多master节点之间同步,memory则保存在内存中,其配置随着master宕机而丢失
flume.master.serverid
master的唯一标识
flume.master.http.port
flume.master.heartbeat.missed.max
判断节点失效的最大未达心跳数
flume.master.savefile
当前flume配置文件的路径,默认conf/current.flume
flume.master.savefile.autoload
启动时是否加载current.flume,默认false
flume.master.gossip.period
master通信周期(毫秒)
flume.master.heartbeat.rpc
THRIFT/AVRO
flume.event.rpc
THRIFT/AVRO
flume.report.server.rpc.type
THRIFT/AVRO
6、zookeeper
flume.master.zk.logdir
zookeeper日志路径
flume.thrift.socket.timeout.ms
thrift网络连接超时时间(毫秒)
command shell(flume command)
connect master:port
登录master
config logicalnode source sink
为逻辑节点配置一个source到sink的映射
getnodestatus
获得节点状态(HELLO, CONFIGURING, ACTIVE, IDLE, ERROR, DECOMMISSIONED, LOST )
HELLO, node启动时
CONFIGURING, node被配置后
ACTIVE, 一个event从source送达到sink
IDLE, source中所有evnet发送完毕后
ERROR, 节点故障退出,数据没有flush
DECOMMISSIONED, node被master移除
LOST, master长时间未收到node心跳
getconfigs
getmappings [physical node]
如果physical node参数被省略,将显示所有logical node到physical node的映射关系
同步执行命令
Source file
异步执行命令
wait ms [cmdid]
设定一个时间,周期检查命令进程的状态(success or failure)
waitForNodesActive ms node1 [node2 […]]
设定一个时间,检查node是否处于使用(configuring, active)状态
waitForNodesDone ms node1 [node2 […]]
设定一个时间,检查node是否处于未用(IDLE, ERROR, LOST)状态
command shell(exec & submit command)
包含转义字符的java string
能引住除单引号之外的所有字符
touch master, 不做操作
config logicalnode source sink
为逻辑节点配置source到sink的映射
multiconfig flumespec
unconfig logicalnode
取消逻辑节点的配置,影响master调整故障转移列表(failover list)
refreshAll logicalnode
save filename
保存current configuration到master硬盘
load filename
从master中加载current configuration
map physicalnode logicalnode
配置物理节点到逻辑节点的映射关系,master的配置将被同步到logicalnode
spawn physicalnode logicalnode
decommission logicalnode
unmap physicalnode logicalnode
purge logicalnode
清除状态,类似重启一个logical node, 适用于(DECOMMISSIONED、 LOST)状态
清除所有logical node的状态
Flume Source
1、Flume’s Tiered Event Sources
collectorSource[(port)]
Collector source,监听端口汇聚数据
autoCollectorSource
通过master协调物理节点自动汇聚数据
logicalSource
逻辑source,由master分配端口并监听rpcSink
2、Flume’s Basic Sources
监听用户编辑历史和快捷键输入,只在node_nowatch模式下可用
监听标准输入,只在node_nowatch模式下可用,每行将作为一个event source
rpcSource(port)
由rpc框架(thrift/avro)监听tcp端口
text(&filename&)
一次性读取一个文本,每行为一个event
tail(&filename&[,&startFromEnd=false])
每行为一个event。监听文件尾部的追加行,如果startFromEnd为true,tail将从文件尾读取,如果为false,tail将从文件开始读取全部数据
multitail(&filename&[,&file2&[,file3… ] ])
同上,同时监听多个文件的末尾
tailDir(&dirname&[, fileregex=&.*&[, startFromEnd=false[, recurseDepth=0]]])
监听目录中的文件末尾,使用正则去选定需要监听的文件(不包含目录),recurseDepth为递归监听其下子目录的深度
seqfile(&filename&)
监听hdfs的sequencefile,全路径
syslogUdp(port)
监听Udp端口
syslogTcp(port)
监听Tcp端口
syslogTcp1(port)
只监听Tcp端口的一个链接
execPeriodic(&cmdline&,&ms)
周期执行指令,监听指令的输出,整个输出都被作为一个event
execStream(&cmdline&)
执行指令,监听指令的输出,输出的每一行被作为一个event
exec(&cmdline&[,aggregate=false[,restart=false[,period=0]]])
执行指令,监听指令的输出,aggregate如果为true,整个输出作为一个event如果为false,则每行作为一个event。如果restart为true,则按period为周期重新运行
synth(msgCount,msgSize)
随即产生字符串event,msgCount为产生数量,msgSize为串长度
synthrndsize(msgCount,minSize,maxSize)
同上,minSize – maxSize
nonlsynth(msgCount,msgSize)
asciisynth(msgCount,msgSize)
Ascii码字符
twitter(&username&,&pw&[,&url&])
尼玛twitter的插件啊
irc(&server&,port, &nick&,&chan&)
scribe[(+port)]
Scribe插件
report[(periodMillis)]
生成所有physical node报告为事件源
Flume Sinks
1、Flume’s Collector Tier Event Sinks
collectorSink( &fsdir&,&fsfileprefix&,rollmillis)
collectorSink,数据通过collector汇聚之后发送到hdfs, fsdir 是hdfs目录,fsfileprefix为文件前缀码
2、Flume’s Agent Tier Event Sinks
agentSink[(&machine&[,port])]
Defaults to agentE2ESink,如果省略,machine参数,默认使用flume.collector.event.host与flume.collector.event.port作为默认collecotr(以下同此)
agentE2ESink[(&machine&[,port])]
执着的agent,如果agent发送event没有收到collector成功写入的状态码,该event将被agent重复发送,直到接到成功写入的状态码
agentDFOSink[(&machine& [,port])]
本地热备agent,agent发现collector节点故障后,不断检查collector的存活状态以便重新发送event,在此间产生的数据将缓存到本地磁盘中
agentBESink[(&machine&[,port])]
不负责的agent,如果collector故障,将不做任何处理,它发送的数据也将被直接丢弃
agentE2EChain(&m1[:_p1_]& [,&m2[:_p2_]&[,…]])
指定多个collector提高可用性。 当向主collector发送event失效后,转向第二个collector发送,当所有的collector失败后,它会非常执着的再来一遍...
agentDFOChain(&m1[:_p1_]&[, &m2[:_p2_]&[,…]])
同上,当向所有的collector发送事件失效后,他会将event缓存到本地磁盘,并检查collector状态,尝试重新发送
agentBEChain(&m1[:_p1_]&[, &m2[:_p2_]&[,…]])
同上,当向所有的collector发送事件失效后,他会将event丢弃
autoE2EChain
无需指定collector, 由master协调管理event的流向
autoDFOChain
autoBEChain
3、Flume’s Logical Sinks
logicalSink(&logicalnode&)
4、Flume’s Basic Sinks
在不使用collector收集event的情况下,可将source直接发向basic sinks
console[(&formatter&)]
转发到控制台
text(&txtfile& [,&formatter&])
转发到文本文件
seqfile(&filename&)
转发到seqfile
dfs(&hdfspath&)
转发到hdfs
customdfs(&hdfspath&[, &format&])
自定义格式dfs
+escapedCustomDfs(&hdfspath&, &file&, &format&)
rpcSink(&host&[, port])
syslogTcp(&host&[,port])
发向网络地址
irc(&host&,port, &nick&, &chan&)
原文来自:/zhangmiao-chp/tag/flume/
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:330247次
积分:5292
积分:5292
排名:第4840名
原创:108篇
转载:349篇
译文:39篇
评论:17条
(3)(9)(8)(7)(23)(4)(19)(36)(14)(20)(27)(7)(5)(16)(17)(2)(29)(29)(63)(47)(67)(38)(9)课程加载中...&一:Flume是什么?&&&&& Flume是Apache下的一个分布式的,可靠的,可扩展的海量日志收集系统,Flume部署的最简单单元是Agent,一个Agent可以连接一个或者多个其它的Agent,通过相互连接的多个Agent,从数据采集到数据推送到一些存储系统(HDFS,HBase等),一个流作业就被建立了。&&&& flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,包括了Header和Body部分。& 1.1:flume的一些核心概念:&&& && Agent& :&& 使用JVM 运行Flume。每台机器运行一个agent&&&&&& Source :& 从Client收集数据,传递给Channel。&& &&&&&& Sink&& :& 从Channel收集数据,运行在一个独立线程。 &&&&&& Channel:& 连接 sources 和 sinks ,这个有点像一个队列。& 1.2 :Linux安装和配置flume&&&&& 在官网下载好相应的tar包后,解压到指定目录,首先配置环境变量vi /etc/profile配置Flum,然后Source /etc/profile立即生效。 &&&& 接着配置flume安装目录下的conf/flume-env.sh 如果没有这个文件,cp 模板一份,设置JDK路径&&&& 设置完成后,进入bin目录,执行命令,.lume-ng version 如果出现类似下面的情况,说明你的flume配置OK了。 二:flume的特点   2.1:可靠性   & 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。收到数据 agent首先将event写到磁盘上,当数据传送成功后,再删除。如果数据发送失败,可以重新发送。Flume提供的无数据丢失保证依赖于事 物,Channel本质上也是事物性的,每个flume事物代表的是一批写入到Channel或者从Channel中删除的事件。   2.2:可恢复性    && 如果通道采用File Channel,即使机器宕机数据也不会丢失,除非磁盘损坏。三:Flume Agent内部原理&&& &&& 每个FLume agent 包含3个组件:Souce, Channel,Sink。Source是从一些其他产生数据的应用中接收数据的一个组件,其可以监听多个网络端口用于接收数据,需要注意的是,每个Source必须至少连接一个Channel。   Channel,它的行为很像队列,Source负责写入数据到Channel,Sink负责从Channle读取数据,一个Source可以写入多个Channle,多个Sink也可以从同一Channle读取数据,但是一个Sink只能从一个Channel获取数据。&    一个简单的Agent如下:  但是在实际的使用中,往往一个Agent内部有很多其它的组件,比如,拦截器,选择器等,一个Source可以经过处理器, 拦截器,选择器路由到多个Channel。 后面我们将一步一步学习Flume,欢迎大家指正  
以上就介绍了Flume学习一,包括了方面的内容,希望对Linux教程有兴趣的朋友有所帮助。
本文网址链接:/article/detail_340111.html
上一篇: 下一篇:}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信