flume简介和安装

【译文】:Flume是一种分布式、可靠和可用的服务,可以有效地收集、聚集和移动大量的日志数据。它有一个基于流数据流的简单而灵活的体系结构。它具有可调可靠性机制和许多故障转移和恢复机制的健壮性和容错能力。它使用一个简单的可扩展的数据模型,允许在线分析应用程序。


flume的核心概念模型如上图。flume在web server和hdfs之间担任代理角色,source端作为输入负责与web server交互监控收集数据,sink端作为输出负责向hdfs写数据。channel作为管道连接source和sink供两者传输数据。


Source常用类型

Avro Source:

在Avro端口上监听并接收来自外部Avro客户流的事件;属于远程调用的方式


Exec Source: 

基于linux命令,将该命令的输出作为source


Spooling Directory Source : 


    这个Source将监视指定目录是否有新文件,如果有新文件的话,就解析这个新文件;在文件的内容所有的都读取    到Channel之后,Spooling       Directory Source会重名或者是删除该文件以表示文件已经读取完成。

    1.文件在读入spooling目录后不允许再次写;

    2.文件不允许重复使用;


Kafka Source: 一种实时框架


Sink常用类型

Avro Sink

HDFS Sink

Hive Sink

Logger Sink

Kafka Sink


Channels常用类型


Memory: 内存存储

JDBC:数据库存储

Kafka


示例配置

a1.sources = r1
a1.channels = c1
a1.sink = k1

# Describe/configure the source:exec source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /var/log/secure


# Describe the sink :hdfs sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/%S
a1.sinks.k1.hdfs.filePrefix = events-
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute

a1.sinks.k1.hdfs.rollInterval = 30
a1.sinks.k1.hdfs.rollSize = 30
a1.sinks.k1.hdfs.rollCount = 30
a1.sinks.k1.hdfs.idleTimeout = 3


# Use a channel which buffers events in memory: memory channels
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
a1.channels.c1.byteCapacityBufferPercentage = 20
a1.channels.c1.byteCapacity = 800000

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1


安装

flume安装很简单,上传压缩包后解压然后修改conf/flume-env.sh中的JAVA_HOME即可。安装成功后最好配置一下flume环境变量;

命令flume-ng version验证安装结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值