Flume安装

作者: 400476cab371 | 来源:发表于2018-01-02 14:11 被阅读38次

flume是一款实时日志收集系统


特点

1.分布式、可靠、高可用的海量日志采集、聚合和传输的系统

2.支持各类数据发送方,用于收集数据,同时,Flume提供对数据进行简单处理,并写到各种数据接收方(hdfs、Hbase等)的能力

3.flume的数据流由事件(event)贯穿始终。事件是Flume的基本数据单位,他携带日志数据(字节数组形式),并且携带有头信息,这些event由Agent外部的source生成,当Source捕获事件后,会进行特定的格式化,然后会把事件推入单个或者多个channel(相当于一个缓冲区)中,它将保存事件直到sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source


可靠性

当节点出现故障时候,日志能够被传送到其它节点上而不丢失(endToend、Store on failure、Besteffort)

    1.End To End 是收到数据后agent首先将event写到磁盘上,当数据传送成功后,再删除

    2.Store on failure是当数据接收方crash时,将数据写到本地,待恢复后继续发送

    3.Besteffort是数据发到接收方后不会进行确认

可恢复性

可靠性体现在channel上,一般推荐使用FileChannel,事件持久化在本地文件系统里(性能差)


核心名称的概念

    1.Agent:使用JVM运行flume。每台机器运行一个Agent,但是可以再一个agent里面包含多个sources和sinks

    2.Client生产数据,运行在一个独立线程

    3.Source从Client收集数据,传递给Channel

    4.Sink从Channel收集数据,运行在一个独立线程

    5.Channel连接sources和Sink

    6.Event可以使日志记录,avro对象等。


安装流程

一、配置.bashrc

vi ~/.bashrc

export FLUME_HOME=/BigData/flume/apache-flume-1.6.0-bin

export FLUME_CONF_DIR=$FLUME_HOME/conf

PATH加上$FLUME_HOME/bin

二、配置conf

cp flume-conf.properties.templateq flume-conf.properties,并对其进行更改

#agent1 表示代理名称

agent1.sources=source1

agent1.sinks=sink1

agent1.channel=channel1

#配置source1

agent1.sources.source1.type=spooldir

agent1.sources.source1.spoolDir=/BigData/flume/testDir

agent1.sources.source1.channels=channel1

agent1.sources.source1.fileHeader=false

agent1.sources.source1.interceptors=il

agent1.sources.source1.inteceptors.il.type=timestap

#配置sink1

#sink到hdfs

agent1.sinks.sink1.type=hdfs

agent1.sinks.sink1.hdfs.path=hdfs://huawei1:/9000/library/flume

agent1.sinks.sink1.hdfs.fileType=DataStream

agent1.sinks.sink1.hdfs.writeFormat=TEXT

agent1.sinks.sink1.hdfs.rollInterval=1

agent1.sinks.sink1.channel=channel1

agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d

#sink到某个端口

#agent1.sinks.sink1.type=avro

#agent1.sinks.sink1.channel=channel1

#agent1.sinks.sink1.hostname=Master

#agent1.sinks.sink1.port=9999

#sink到Kafka

#agent1.sinks.sink1.type=org.apache.flume.plugins.KafkaSink

#agent1.sinks.sink1.metadata.broker.list=Master:9092,Worker1:9092,Worker2.9092

#agent1.sinks.sink1.partition.key=0

#agent1.sinks.sink1.partitioner.class=org.apache.flume.plugins.SinglePartition

#agent1.sinks.sink1.serializer.class=kafka.serializer.StringEncoder

#agent1.sinks.sink1.request.requiredacks=0

#agent1.sinks.sink1.max.message.size=1000000

#agent1.sinks.sink1.producer.type=sync

#agent1.sinks.sink1.custom.encoding=UTF-8

#agent1.sinks.sink1.custom.topic.name=HelloKafka

#agent1.sinks.sink1.channel=channel1

#配置channel1

agent1.channels.channel1.type=file

agent1.channels.channel1.chackpointDir=/BigData/flume/checkpointDir

agent1.channels.channel1.dataDirs=/BigData/flume/dataDirs


启动Flume

./flume-ng agent -n agent1 -c conf -f  /BigData/flume/apache-flume-1.6.0-bin/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

相关文章

网友评论

    本文标题:Flume安装

    本文链接:https://www.haomeiwen.com/subject/ejbfnxtx.html