码迷,mamicode.com
首页 > Web开发 > 详细

Flume的安装配置

时间:2020-12-29 11:10:09      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:负载   绑定   time   star   png   磁盘空间   路径   项目   窗口   

flume的概述
Apache Flume是一个分布式,可靠且可用的系统,用于有效地从许多不同的source收集,聚合和移动大量日志数据到集中式数据存储。
Apache Flume的使用不仅限于日志数据聚合。由于数据source是可定制的,因此Flume可用于传输大量event 数据,包括但不限于网络流量数据,社交媒体生成的数据,电子邮件消息以及几乎任何可能的数据source。
Apache Flume是Apache Software Foundation的顶级项目。

系统要求

  1. Java运行时环境 - Java 1.8或更高版本
  2. 内存 - 为source,channel或 sink 配置的内存
  3. 磁盘空间 - channel或sink配置的磁盘空间
  4. 目录权限 - agent使用的目录的读/写权限

Flume event 被定义为具有字节有效负载和可选字符串属性集的数据流单元。Flume agent 是一个(JVM)进程,它承载event 从外部source流向下一个目标(跃点)的组件。
技术图片

安装步骤
1.将flume的压缩文件上传到linux中
技术图片

2.进入到flume/conf 将 flume-env.sh.templ 复制为flume-env.sh
技术图片

  1. 将export JAVA_OPTS 那行的注释去掉
    技术图片

4.进入flume目录下 vi dir-hdfs.conf 不用担心没有文件怎么办,vi命令会自己创建一个文件

`#定义三大组件的名称
ag1.sources = source1
ag1.sinks = sink1
ag1.channels = channel1

配置source组件

ag1.sources.source1.type = spooldir
ag1.sources.source1.spoolDir = /root/data/log
ag1.sources.source1.fileSuffix=.FINISHED
ag1.sources.source1.inputCharset=utf-8
ag1.sources.source1.deserializer.maxLineLength=5120

配置sink组件

ag1.sinks.sink1.type = hdfs
ag1.sinks.sink1.hdfs.path =hdfs://192.168.56.2/access_log/%y-%m-%d/%H-%M
ag1.sinks.sink1.hdfs.filePrefix = app_log
ag1.sinks.sink1.hdfs.fileSuffix = .log
ag1.sinks.sink1.hdfs.batchSize= 100
ag1.sinks.sink1.hdfs.fileType = DataStream
ag1.sinks.sink1.hdfs.writeFormat =Text

roll:滚动切换:控制写文件的切换规则

按文件体积(字节)来切

ag1.sinks.sink1.hdfs.rollSize = 512000

按event条数切

ag1.sinks.sink1.hdfs.rollCount = 1000000

按时间间隔切换文件

ag1.sinks.sink1.hdfs.rollInterval = 60

控制生成目录的规则(round回滚)

ag1.sinks.sink1.hdfs.round = true
ag1.sinks.sink1.hdfs.roundValue = 10
ag1.sinks.sink1.hdfs.roundUnit = minute
ag1.sinks.sink1.hdfs.useLocalTimeStamp = true

channel组件配置

ag1.channels.channel1.type = memory

event条数

ag1.channels.channel1.capacity = 500000

flume事务控制所需要的缓存容量600条event

ag1.channels.channel1.transactionCapacity = 600

绑定source、channel和sink之间的连接

ag1.sources.source1.channels = channel1
ag1.sinks.sink1.channel = channel1`

5.执行bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -Dflume.root.logger=INFO,console
启动后flume会一直在运行,在创建一个Xshell窗口进行一下操作

6.根据你配置source组件 spoolDir 创建对应的路径 创建源目录log 给与777权限 并且在log目录下存放需要采集的数据
我的是ag1.sources.source1.spoolDir = /root/data/log

cd ~ #进入根目录 /root

mkdir data #创建data

cd data #进入data

mkdir log #创建log

chmod 777 log #给log赋予权限

touch a.txt #创建一个文本插入数据用来测试

echo hello world > a.txt

mv a.txt log/a.txt

7.观察flume中日志信息,查看采集后的文件是否加了后缀 .FINISHED
技术图片

同时可在/root/data/log 中查看他的变化,和hdfs上的access_log文件夹里面的变化
技术图片

Flume的安装配置

标签:负载   绑定   time   star   png   磁盘空间   路径   项目   窗口   

原文地址:https://www.cnblogs.com/sanshuishui/p/14176679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!