Flume exec 测试

环境:ubuntu 1604

软件:①apache-flume-1.7.0-bin.tar.gz,解压后放到 /usr/local/  下面。②sudo apt-get install apache2,然后sudo service apache2 start 启动服务。--第二步是为了安装httpd服务器,CentOS上直接yum install httpd即可。

配置:

larry@linux:~/opt/flume-conf$ cat demo.properties 
# 示例: 一个单节点的Flume 配置

# 命名该agent(a1)的components。
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# 描述/配置 source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /var/log/apache2/access.log

# 描述 sink
a1.sinks.k1.type = logger

# 使用一个内存型 channel -- 能够缓存 events
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 将 source和 sink 绑定到 channel。
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

这个配置,就是将tail命令产生的数据流发送到logger ,所以启动flume-ng的时候需要指定logger(因为默认的logger肯定不是输出到控制台的,而且级别也太高)。

启动:flume-ng agent --conf /usr/local/apache-flume-1.7.0-bin/conf --conf-file demo.properties --name a1 -Dflume.root.logger=INFO,console

--conf 是用于指定conf文件的路径,该路径通常包含了一些环境设置,即通用配置。

--conf-file 则是指定当前agent任务需要加载的配置文件。

--name 是指定加载--conf-file配置文件中的某个agent,这是因为一个配置文件可以有多组agent。

-Dflume.root.logger,其实是指定Java的选项,该选项会传递给Java程序。在这里,就是设置该应用的整体日志的级别和输出。

另外,需要注意flume-ng 后面的agent,不要忘记输入~

实验:浏览器访问 127.0.0.1,然后刷新、刷新、刷新。。

结果:

flume

原文地址:https://www.cnblogs.com/larryzeal/p/6582009.html