4.flume实战

Posted traditional

tags:

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

需求:从指定网络端口采集数据输出到控制台

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

a)配置source

b)配置channel

c)配置sink

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

我们看一下官网给的配置文件

技术分享图片

# example.conf: A single-node Flume configuration

a1:agent的名称
r1:source的名称
k1:sink的名称
c1:channel的名称
# Name the components on this agent
a1.sources = r1   指定source
a1.sinks = k1   指定sink
a1.channels = c1   指定channel    
这里指定的只有一个

# Describe/configure the source
这个agent有多个source,我们指定source的类型为netcat,绑定到localhost,我这里也可以写成ubuntu,可以通过hostname查看,监听端口为44444
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

# Describe the sink
表示将logger输出到控制台
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory
使用channel存到内存当中
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
把以上三个组件串起来
一个source可以接收不同的数据源
a1.sources.r1.channels = c1
但是sink只能sink到一个地方去
a1.sinks.k1.channel = c1

 我们直接在conf下建一个example.conf,把上面的内容删掉我们添加的,然后拷贝进去

 

然后启动agent,如何启动:

  flume-ng   agent   --name    agent的名字    --conf    配置文件(就是flume目录下的conf)   --conf-file    刚才我们写的配置文件    -Dflume.root.logger=INFO,console

其中--name也可以写成-n,--conf也可以写成-c,--conf-file也可以写成-f,但是这样省略的太多了,还是写全名更清晰。-Dflume.root.logger=INFO,console   表示将日志输出到控制台

 

启动,我这里输入:flume-ng  agent --name a1 --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/example.conf -Dflume.root.logger=INFO,console

技术分享图片

启动成功,显示监听44444端口,我们通过telnet localhost 44444连接一下

技术分享图片

可以看到每当我输入一条内容,都会显示一条ok,表示发送成功,我们再来看看flume

 技术分享图片

可以看到将我们输入的内容,收集起来了。

2018-11-08 01:01:24,702 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 73 61 74 6F 72 69 0D satori. }

 每一条记录都是一个event,  我们输入的内容在body里面

 

以上是关于4.flume实战的主要内容,如果未能解决你的问题,请参考以下文章

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

flume

golang代码片段(摘抄)

flume原理

大数据面试题之葵花宝典------flume

GitLab安装与汉化-实战