Flume1.6.0的安装及与kafka结合详细配置参数

 Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 。
 Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。

Flume的安装

  1. Flume的安装比较简单,上传安装包到只需要解压即可,当然,前提是已有hadoop环境,上传安装包到数据源所在节点上。
  2. 解压  tar -zxvf apache-flume-1.6.0-bin.tar.gz
  3. 进入flume的目录,修改conf下的flume-env.sh,在里面配置JAVA_HOME。
  4. 根据数据采集的需求配置采集方案,描述在配置文件中(文件名可任意自定义)。指定采集方案配置文件,在相应的节点上启动flume agent。
  5. 使用Flume将本地文件采集到kafka中去,在Flume的conf目录中创建一个名为log_kafka的conf文件,并进行如下配置:

# 定义 agent

a1.sources = src1

a1.channels = ch1

a1.sinks = k1

# 定义 sources 监控root目录下的名为log的文件;常见source的类型:avro、exec、spooldir

a1.sources.src1.type = exec

a1.sources.src1.command=tail -F /root/log

a1.sources.src1.channels=ch1

# 定义 sinks,下沉到kafka

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

a1.sinks.k1.topic = topicAAAA

a1.sinks.k1.brokerList =hadoop:9092

a1.sinks.k1.batchSize = 20

a1.sinks.k1.requiredAcks = 1

a1.sinks.k1.channel = ch1

# 定义 channels

a1.channels.ch1.type = memory

a1.channels.ch1.capacity = 1000

  1. 启动Flume

bin/flume-ng agent --conf conf --conf-file conf/log_kafka.conf --name a1

你可能感兴趣的:(flume)