Flume学习笔记
来源:互联网 发布:手机网络配置怎么设置 编辑:程序博客网 时间:2024/05/29 13:53
Flume概述
Flume是一个分布式的数据收集系统,具有高可靠、高可用、事务管理、失败重启等功能。数据处理速度快,完全可以用于生产环境。
Flume的核心是agent。agent是一个java进程,运行在日志收集端,通过agent**接收日志,然后暂存起来,再发送到目的地**。
核心组件
agent里面包含3个核心组件:source、channel、sink。
source组件
是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。
source组件把数据收集来以后,临时存放在channel中。channel组件
是在agent中专用于临时存储数据的,可以存放在memory、jdbc、file、自定义。
channel中的数据只有在sink发送成功之后才会被删除。sink组件
是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定义。
在整个数据传输过程中,流动的是event。事务保证是在event级别。
安装flume
解压缩到当前文件夹
[root@liguodong local]# tar -zxvf /root/Documents/apache-flume-1.4.0-bin.tar.gz[root@liguodong local]# tar -zxvf /root/Documents/apache-flume-1.4.0-src.tar.gz
将src文件夹复制到bin文件夹目录下
[root@liguodong local]# cp -ri apache-flume-1.4.0-src/* apache-flume-1.4.0-bin/
删除src文件,重命名bin文件
rm -rf apache-flume-1.4.0-src/mv apache-flume-1.4.0-bin/ flume
基本操作
flume/bin/下,输入:flume-ng
运行脚本,查看帮助。
flume可以支持多级flume的agent,支持扇入(fan-in)、扇出(fan-out)。
书写配置文件example
#agent1表示代理名称agent1.sources=source1agent1.sinks=sink1agent1.channels=channel1#Spooling Directory是监控指定文件夹中新文件的变化,一旦新文件出现,就解析该文件内容,#然后写入到channle。写入完成后,标记该文件已完成或者删除该文件。#配置source1agent1.sources.source1.type=spooldiragent1.sources.source1.spoolDir=/root/hmbbsagent1.sources.source1.channels=channel1agent1.sources.source1.fileHeader = falseagent1.sources.source1.interceptors = i1agent1.sources.source1.interceptors.i1.type = timestamp#配置sink1agent1.sinks.sink1.type=hdfsagent1.sinks.sink1.hdfs.path=hdfs://liguodong:9000/hmbbsagent1.sinks.sink1.hdfs.fileType=DataStreamagent1.sinks.sink1.hdfs.writeFormat=TEXTagent1.sinks.sink1.hdfs.rollInterval=1agent1.sinks.sink1.channel=channel1agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d#配置channel1agent1.channels.channel1.type=fileagent1.channels.channel1.checkpointDir=/root/hmbbs_tmp/123agent1.channels.channel1.dataDirs=/root/hmbbs_tmp/
dataDirs :数据路径,checkpointDir:相当于前者的备份。两者不能设置成同一个目录。
复制以上的配置到XXX/flume/conf/example文件中
vi example
XXX/flume/conf/目录下 more log4j.properties
查看日志文件的配置
创建被监听文件
cd ~/mkdir hmbbs
创建输出文件
hadoop fs -mkdir /hmbbs
在XXX/flume目录下,执行命令
bin/flume-ng agent -n agent1 -c conf -f conf/example -Dflume.root.logger=DEBUG,console
-Dflume.root.logger=DEBUG,console 仅为 debug 使用,请勿生产环境生搬硬套,否则大量的日志会返回到终端。
-c或--conf 后跟配置目录(脚本文件、日志文件)
-f或--conf-file 后跟具体的配置文件
-n或--name 指定agent的名称
随便创建一个文件 vi hello
复制文件到hmbbs目录下
cp hello /root/hmbbs/
进行观察hdfs文件,/root/hmbbs/、/root/hmbbs_tmp/、/root/hmbbs_tmp/123等。
- Flume学习笔记 --- Flume入门
- Flume学习笔记
- Flume学习笔记
- Flume学习笔记
- flume学习笔记
- Flume学习笔记
- flume学习笔记
- flume学习笔记一
- Flume 学习笔记 一 : Flume User Guide
- flume,kafka,storm学习笔记
- Spark学习笔记-Streaming-Flume
- hadoop学习笔记之flume
- Flume学习笔记 --- Flume内置source,channel, sink介绍
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume NG 学习笔记(一)简介
- MyISAM InnoDB 区别
- cocos2d-x游戏开发回调函数
- awk的常用使用笔记
- Android中AppWidget的分析与应用:AppWidgetProvider
- 十大网站布局和颜色搭配评析
- Flume学习笔记
- Scrapy: Run Using TOR and Multiple Agents Part 2
- 构建高并发高可用的电商平台架构实践
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- Error: invalid csrf token
- 三层架构思想
- 考研英语单词8—141-160
- apache日志分析
- memcached安装与参数说明