Apache Flume 是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume 可以对数据的简单处理,并写到各种数据接收方。
Flume 的数据流由事件(Event)贯穿始终。事件是 Flume 的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些 Event 由 Agent 外部的 Source 生成,当 Source 捕获事件后会进行特定的格式化,然后 Source 会把事件推入(单个或多个)Channel 中。可以把 Channel 看作是一个缓冲区,它将保存事件直到 Sink 处理完该事件。Sink 负责持久化日志或者把事件推向另一个 Source。
Source 是数据的收集端,负责将数据捕获后进行特殊的格式化,将数据封装到事件(Event)里,然后将事件推入 Channel 中。
Flume 提供了各种 Source 的实现,包括 Avro Source、Exce Source、Spooling Directory Source、NetCat Source、Syslog Source、Syslog TCP Source、Syslog UDP Source、HTTP Source、HDFS Source、etc。如果内置的 Source 无法满足需要,Flume 还支持自定义 Source。
Flume Sink 取出 Channel 中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。
Flume 也提供了各种 Sink 的实现,包括 HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink、etc。
Flume Sink 在设置存储数据时,可以向文件系统中,数据库中,Hadoop 中存储数据,在日志数据较少时,可以将数据存储在文件系统中,并且设定一定的时间间隔保存数据。在日志数据较多时,可以将相应的日志数据存储到 Hadoop 中,便于日后进行相应的数据分析。
Flume 运行的核心是 Agent。Flume 以 Agent 为最小的独立运行单位。一个 Agent 就是一个 JVM。它是一个完整的数据收集工具,含有三个核心组件:Source、Channel、Sink。通过这些组件,Event 可以从一个地方流向另一个地方。
上传解压(『caroly02』)
tar xf apache-flume-1.6.0-bin.tar.gz -C /opt/caroly/
cd /opt/caroly
mv apache-flume-1.6.0-bin/ flume
修改配置文件
cd flume/conf/
mv flume-env.sh.template flume-env.sh
vi flume-env.sh
change 22:
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
vi fk.conf
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = caroly02
a1.sources.r1.port = 41414
# Describe the sink
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = testflume
a1.sinks.k1.brokerList = caroly02:9092,caroly03:9092,caroly04:9092
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 20
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000000
a1.channels.c1.transactionCapacity = 10000
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动
需先启动 Zookeeper 和 Kafka
bin/flume-ng agent -n a1 -c conf -f conf/fk.conf -Dflume.root.logger=DEBUG,console
本文由 caroly 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载 / 出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://caroly.fun/archives/flume安装
最后更新:2021-04-29 16:11:01
Update your browser to view this website correctly. Update my browser now