1.什么是flume?
分布式的海量日志的收集,聚合,移动,传输的框架:
- fulme Agent是一个jvm进程,包括Source, Channel, Sink三部分。
- flume event是数据流中的一个基本单位
- Source接收并且消费外部数据源传递过来的events,Channel用于中间的存储,Sink做数据输出。外部数据源发送数据到flume,必须按照Source支持的格式发,例如Avro Source接收的是Avro events(可能是外部的avro client 或 avro sink发来的数据)
- 复杂的流:flume支持多跳的流(多个agent连接到一起),扇入,扇出,上下文路由,备份路由
- 可靠性保证:events是保存在agent的channel中的,这些events会被分发到先一个agent或者是终端存储(例如hdfs),这些events只有当它们被下一个agent的channel或者终端存储保存后,才会从前一个channel中删除掉
- 可恢复性: file channel 保存在本地文件系统上;memory channel 保存在内存中,它更快,但是agent挂掉,内存中的events无法恢复
2.为flume社区做贡献或者提交bug的网址
http://flume.apache.org/getinvolved.html
3.flume 安装
(1)下载flume 1.8版本(注意:flume 1.8 需要 java 1.8 or later)
(2)修改conf下的flume-conf.properties
hd1.sources=s1 hd1.sources.s1.type=netcat hd1.sources.s1.bind=localhost hd1.sources.s1.port=44444 hd1.channels=c1 hd1.channels.c1.type=memory hd1.channels.c1.capacity=1000 hd1.channels.c1.transcationCapacity=100 hd1.sinks=sk1 hd1.sinks.sk1.type=logger #把source 和 sink 关联到channel上 #1个source可以对应多个channel(重点) hd1.sources.s1.channels=c1 #一个sink只对应1个sink(重点) hd1.sinks.sk1.channel=c1
配置文件主要分为3个步骤:
- 给当前的agent起个名字(此处是hd1)
- 配置agent的source,channel, sink三个组件,每个组件都有名字和类型,以及自己的额外属性;
- 关联source -> channels (1个source可以有多个channels) 和 sink -> channel (1个channel只能有1个sink)
(3)启动命令:
-n指定agent的名字(和配置文件里的一致,否则启动后会发现不报错,但是没有44444端口),命令不要写错,-D后面的参数是小写(否则不输出到屏幕)
flume-ng agent -n hd1 -c /data/apache-flume-1.8.0-bin/conf/ -f /data/apache-flume-1.8.0-bin/conf/flume-conf.properties -Dflume.root.logger=INFO,console
4.在flume的配置文件中,也支持环境变量
例如,下面的配置方式:
启动的命令是(注意一定要 -D 指定 -DpropertiesImplementation):
NC_PORT=44444 flume-ng agent -n hd1 -c /data/apache-flume-1.8.0-bin/conf/ -f /data/apache-flume-1.8.0-bin/conf/flume-conf.properties -Dflume.root.logger=INFO,console
-DpropertiesImplementation=org.apache.flume.node.EnvVarResolverProperties
5.--no-reload-conf参数默认是false,表示配置文件发生变更就会重新加载配置文件
测试流程:
(1)启动flume
(2)telnet localhost 44444 ( 发测试信息,不断开)
(3)修改配置文件,把端口号改为44445
(4)等待1s左右,flume会重新加载配置文件,端口号改为新的44445
(5)此时(2)中的telnet一直未挂关闭(端口是44444),继续发信息,屏幕上依然可以输出接收到的信息
(6)netstat -nptl | grep 44444 发现端口已经不在了,netstat -nptl | grep 44445 变成了新的端口在发数据
通过(5)和(6)可知,改变了配置,flume自动加载了配置,不影响尚未关闭的原来的服务(source端的接收,和sink端的输出未受影响)
6.一些flume用到的java参数
-Dflume.root.logger=DEBUG,console
-Dorg.apache.flume.log.printconfig=true
-Dorg.apache.flume.log.rawdata=true
相关推荐
Flume安装的详细步骤哈
大数据教程-Flume安装使用实录,安装、部署细节详细步骤
请解压后再用,flume-1.6.0-bin.tar 安装包,希望对大家有用。
Hadoop中的Flume安装指南,不会的童鞋可以下载哦,有助于学习
Flume学习文档(2){Flume安装部署、Flume配置文件}。 记录我的学习之旅,每份文档倾心倾力,带我成我大牛,回头观望满脸笑意,望大家多多给予意见,有问题或错误,请联系 我将及时改正;借鉴文章标明出处,谢谢
Flume 安装搭建使用
1.flume是什么? 这里简单介绍一下,它是Cloudera的一个产品 2.flume是干什么的? 收集日志的 3.flume如何搜集日志? 我们把flume比作情报人员 (1)搜集信息 (2)获取记忆信息 (3)传递报告间谍信息
flume安装过程及其配图
hadoop集群配置之————flume安装配置(详细版)
flume安装文档,以及一些简单的例子,仅供参考学习使用;
Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方用于收集数据,同时Flume提供对数据的简单处理,并将数据处理结果写入各种数据接收方...
Flume1.8安装部署,包含目录结构为1、下载地址,安装环境工具下载地址 2、单个Flume安装 3、多个Flume安装及HA 4、应用场景 5、Flume-Ng组件概述
Flume-0.9.4中文安装手册,目前看来Flume-0.9.4比Flume-NG靠谱啊
flume安装手册 linux服务器上启动 安装 部署 可以参考一下
Flume安装和简单使用Flume简介Flume安装Flume框架示例 Flume简介 来自官网 Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log ...
flume安装,其中有具体的安装流程,注意事项,可能遇到的问题已经解决办法。
是讲述大日志收集的文件
Flume1.6.0入门:安装、部署、及flume的案例
大数据采集技术与应用