sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

flume的安装与配置总结 flume搭建


Flume的官网是 http://flume.apache.org,官网提供了丰富实用的技术资料。另外还有一个中文版的文档 https://flume.liyifeng.org/

一、下载软件

网站 https://mirrors.tuna.tsinghua.edu.cn/apache/flume提供了各个版本的下载。

cd /var/softwares
wget https://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz
  • 1.
  • 2.

二、解压

tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /var/app
  • 1.

三、创建配置文件

cd /var/app/apache-flume-1.9.0-bin/
mkdir -p conf/job
vi conf/job/netcat-flume-logger.conf
  • 1.
  • 2.
  • 3.
# example.conf: 一个单节点的 Flume 实例配置

配置Agent a1各个组件的名称



a1.sources = r1

a1.sinks = k1

a1.channels = c1



配置Agent a1的source r1的属性



a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444



配置Agent a1的sink k1的属性



a1.sinks.k1.type = logger



配置Agent a1的channel c1的属性,channel是用来缓冲Event数据的



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

这个配置文件就是从官网和中文网复制下来的一个agent的配置文件,它描述了一个日志收集逻辑。即从本地44444端口获取数据,然后在控制台打印出来,如果端口不断输入数据,Flume也会不断进行收集和输出。因为Flume就是一个流式日志收集框架。

四、测试

1. 启动一个agent

cd /var/app/apache-flume-1.9.0-bin/

bin/flume-ng agent -n a1 -c conf -f conf/job/netcat-flume-logger.conf -Dflume.root.logger=INFO,console
  • 1.
  • 2.

此时处于阻塞状态,agent正在监听44444端口,等待数据。

2. 另外打开一个终端,启动netcat。不过要先安装netcat。

nc localhost 44444
  • 1.

然后发送数据,在agent那边就可以看到新的日志输出。

五、进阶测试

测试的套路就是修改或者另建一个配置文件,按照官网给定的规则配置source、channel、sink和bind,source是输入配置,就是数据来源,channel是缓存部分,sink是数据输出目标,bind则是channel跟输入与输出线路的绑定关系。这跟logstash的配置很像。

我们这里的测试,就是把数据源改成监控本地日志文件的追加内容,然后输出到另外的本地文件序列中。这里的本地日志文件内容增加我们用echo来模拟。

vi conf/job/file-flume-file.conf
  • 1.
# example.conf: 一个单节点的 Flume 实例配置



配置Agent a1各个组件的名称



a1.sources = r1

a1.sinks = k1

a1.channels = c1



配置Agent a1的source r1的属性



a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /tmp/logs/test01.log

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



配置Agent a1的sink k1的属性



a1.sinks.k1.type = file_roll

a1.sinks.k1.sink.directory = /tmp/logs



配置Agent a1的channel c1的属性,channel是用来缓冲Event数据的



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

启动agent。

bin/flume-ng agent -n a1 -c conf -f conf/job/file-flume-file.conf
  • 1.

我们用以下命令不断改变向本地文件追加内容。

echo hello world >> /tmp/logs/test01.log
  • 1.

在/tmp/logs文件夹下会多出很多一时间戳命名的文件。这就是我们的输出文件。这些文件会定时30秒重新创建一个,不管有没有数据。我们可以查看有数据的文件,能够看到我们追加的内容。

flume的安装与配置总结 flume搭建_大数据

 


原文链接:https://blog.51cto.com/u_16099321/10534364

posted on   sunny123456  阅读(523)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-25 select count()和select count(1)的区别和执行方式讲解
2021-04-25 tomcat通过conf-Catalina-localhost目录发布项目详解
2021-04-25 oracle 数据量少 count(1)查询慢_很高兴!终于踩到了慢查询的坑
2021-04-25 C#中的委托(一)
2021-04-25 Delegate(委托与事件)
2021-04-25 C#中 如何删除datatable中的一行数据
2021-04-25 C# 去除DataTable表中重复行
点击右上角即可分享
微信分享提示