Flume 安装配置

Posted 数据玩法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flume 安装配置相关的知识,希望对你有一定的参考价值。

 安装Flume

下载

解压到~/app

将java配置系统环境变量中: ~/.bash_profile

export FLUME_HOME=/home/hadoop/app/apache-flume-1.6.0-cdh5.7.0-bin

export PATH=$FLUME_HOME/bin:$PATH

source下让其配置生效

flume-env.sh的配置:export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144

检测: flume-ng version



example.conf: A single-node Flume configuration


使用Flume的关键就是写配置文件


A) 配置Source

B) 配置Channel

C) 配置Sink

D) 把以上三个组件串起来


a1: agent名称 

r1: source的名称

k1: sink的名称

c1: channel的名称


# Name the components on this agent

a1.sources = r1

a1.sinks = k1

a1.channels = c1


# Describe/configure the source

a1.sources.r1.type = netcat

a1.sources.r1.bind = hadoop000

a1.sources.r1.port = 44444


# Describe the sink

a1.sinks.k1.type = logger


# Use a channel which buffers events in memory

a1.channels.c1.type = memory


# Bind the source and sink to the channel

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1



启动agent

./flume-ng agent \

--name a1  \

--conf $FLUME_HOME/conf  \

--conf-file $FLUME_HOME/conf/example.conf \

-Dflume.root.logger=INFO,console


使用telnet进行测试: telnet hadoop000 44444



Event: { headers:{} body: 68 65 6C 6C 6F 0D hello. }

Event是FLume数据传输的基本单元

Event =  可选的header + byte array







需求二:

Agent选型:exec source + memory channel + logger sink

# Name the components on this agent

a1.sources = r1

a1.sinks = k1

a1.channels = c1


# Describe/configure the source

a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /usr/local/tools/logs/data.log

a1.sources.r1.shell = /bin/sh -c


# Describe the sink

a1.sinks.k1.type = logger


# Use a channel which buffers events in memory

a1.channels.c1.type = memory


# Bind the source and sink to the channel

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1


启动agent

./flume-ng agent \

--name a1  \

--conf $FLUME_HOME/conf  \

--conf-file $FLUME_HOME/conf/exec-memory-logger.conf \

-Dflume.root.logger=INFO,console



需求三:

技术选型:

exec source + memory channel + avro sink

avro source + memory channel + logger sink


exec-memory-avro.conf


exec-memory-avro.sources = exec-source

exec-memory-avro.sinks = avro-sink

exec-memory-avro.channels = memory-channel


exec-memory-avro.sources.exec-source.type = exec

exec-memory-avro.sources.exec-source.command = tail -F /usr/local/tools/logs/data.log

exec-memory-avro.sources.exec-source.shell = /bin/sh -c


exec-memory-avro.sinks.avro-sink.type = avro

exec-memory-avro.sinks.avro-sink.hostname =hadoop000

exec-memory-avro.sinks.avro-sink.port = 44444


exec-memory-avro.channels.memory-channel.type = memory


exec-memory-avro.sources.exec-source.channels = memory-channel

exec-memory-avro.sinks.avro-sink.channel = memory-channel




avro-memory-logger.conf

avro-memory-logger.sources = avro-source

avro-memory-logger.sinks = logger-sink

avro-memory-logger.channels = memory-channel


avro-memory-logger.sources.avro-source.type = avro

avro-memory-logger.sources.avro-source.bind =hadoop000

avro-memory-logger.sources.avro-source.port = 44444


avro-memory-logger.sinks.logger-sink.type = logger


avro-memory-logger.channels.memory-channel.type = memory


avro-memory-logger.sources.avro-source.channels = memory-channel

avro-memory-logger.sinks.logger-sink.channel = memory-channel




先启动avro-memory-logger

./flume-ng agent \

--name avro-memory-logger  \

--conf $FLUME_HOME/conf  \

--conf-file $FLUME_HOME/conf/avro-memory-logger.conf \

-Dflume.root.logger=INFO,console



./flume-ng agent \

--name exec-memory-avro  \

--conf $FLUME_HOME/conf  \

--conf-file $FLUME_HOME/conf/exec-memory-avro.conf \

-Dflume.root.logger=INFO,console


以上是关于Flume 安装配置的主要内容,如果未能解决你的问题,请参考以下文章

flume安装配置

3.flume安装以及环境配置

flume的安装与配置

日志抽取框架 flume 简介与安装配置

flume详细介绍,安装,配置

Linux安装flume和集成kafka测试