Flume系列:案例-Flume 聚合拓扑(常见的日志收集结构)

news/2024/11/8 14:49:59/

目录

Apache Hadoop生态-目录汇总-持续更新

 1:案例需求-实现聚合拓扑结构

3:实现步骤:

2.1:实现flume1.conf - sink端口4141

2.2:实现flume2.conf- sink端口4141

2.3:实现flume3.conf - 监听端口4141

3:启动传输链路


Apache Hadoop生态-目录汇总-持续更新

系统环境:centos7

Java环境:Java8

案例只演示通道流程,其中Source,channel,Sink的种类按需调整

 1:案例需求-实现聚合拓扑结构

Flume-1 监控文件/tmp/group3/log1.log

Flume-2 监控文件/tmp/group3/log2.log

Flume-1 与 Flume-2 将数据发送给Flume-3,Flume-3 将最终数据打印到控制台。

 

3:实现步骤:

2.1:实现flume1.conf - sink端口4141

vim flume1.conf# 1:定义组件
a1.sources = r1
a1.sinks = k1
a1.channels = c1# 2:定义source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /tmp/group3/log1.log
a1.sources.r1.shell = /bin/bash -c# 3:定义channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100# 4:定义sink
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = worker215
a1.sinks.k1.port = 4111# 5:定义关联关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

2.2:实现flume2.conf- sink端口4141

vim flume2.conf# 1:定义组件
a2.sources = r1
a2.sinks = k1
a2.channels = c1# 2:定义source
a2.sources.r1.type = exec
a2.sources.r1.command = tail -F /tmp/group3/log2.log
a2.sources.r1.shell = /bin/bash -c# 3:定义channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100# 4:定义sink
a2.sinks.k1.type = avro
a2.sinks.k1.hostname = worker215
a2.sinks.k1.port = 4111# 5:定义关联关系
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1

2.3:实现flume3.conf - 监听端口4141

vim flume3.conf# 1:定义组件
a3.sources = r1
a3.sinks = k1
a3.channels = c1# 2:定义source
a3.sources.r1.type = avro
a3.sources.r1.bind = worker215
a3.sources.r1.port = 4111# 3:定义channel
a3.channels.c1.type = memory
a3.channels.c1.capacity = 1000
a3.channels.c1.transactionCapacity = 100# 4:定义sink
a3.sinks.k1.type = logger# 5:定义关联关系
a3.sources.r1.channels = c1
a3.sinks.k1.channel = c1

3:启动传输链路

1)启动flume3,监听端口4141-收集其他服务传输的数据
flume-ng agent --name flume3 --conf-file flume3.conf  -Dflume.root.logger=INFO,console2)启动flume1,sink端口4141
flume-ng agent --name flume1 --conf-file flume1.conf3)启动flume2,sink端口4141
flume-ng agent --name flume2 --conf-file flume2.conf


http://www.ppmy.cn/news/99809.html

相关文章

ChatGPT生成Excel统计公式

🍏🍐🍊🍑🍒🍓🫐🥑🍋🍉 ChatGPT生成Excel统计公式 文章目录 🍐问题引入🍐具体操作🐳结语 🍐问题引入…

如何提升解决横向问题的能力

横向问题,简单来说就是软件系统内部与业务无关的技术债,比如性能、可扩展性、可用性、可测试性、可维护性和安全合规等问题。这些问题都属于非功能性需求,也就是说,产品经理一般不会把这些问题直接写在需求文档里。 可是日积月累…

LINUX系统编程

文章目录 linux系统介绍(属于扯闲篇)linux的概况linux的历史起源unixPosix标准和其他标准开源运动linux的诞生 linux使用使用范围linux的登录 linux常用命令linux的shell使用切换用户显示所有用户退出当前用户添加用户 删除用户当前工作目录当前工作目录下的所有文件改变当前工…

SpringMVC框架面试专题(初级-中级)-第九节

欢迎大家一起探讨~如果可以帮到大家请为我点赞关注哦~后续会持续更新 问题: 1.Spring MVC框架中的参数校验是什么?请举例说明如何使用参数校验。 解析: Spring MVC框架中的参数校验是指在Controller层对用户传入的…

Shell脚本break和continue语句应用

记录:436 场景: Shell脚本break和continue语句应用。在for、while循环中使用break和continue语句。 版本:CentOS Linux release 7.9.2009。 1.break和continue语句 break语句用来结束循环语句,会跳出循环,不再执行…

【C++】——vector的介绍及模拟实现

文章目录 1. 前言2. vector的介绍3. vector的常用接口3.1 vector对象的常见构造函数3.2 iterator的使用3.3 vector的空间管理3.4 vector的增删查改 4. vector迭代器失效的问题4.1 底层空间改变的操作4.2 指定位置元素的删除操作 5. vector模拟实现6. 结尾 1. 前言 上一篇文章我…

springboot3.0集成nacos2.2.1(一)

本章节内容是没有开启nacos校验方式进行接入 集成环境&#xff1a; java版本&#xff1a;JDK17 springboot版本&#xff1a;3.0.2 创建spring项目&#xff0c;我这里用到的是spring-cloud全家桶 首先是jar包依赖&#xff1a; <properties><maven.compiler.so…

【Linux】软件包管理器/编辑器/yum是应用商店?/vim编辑器什么?

本文思维导图&#xff1a; 文章目录 Linux软件安装关于Linux的软件生态 1.Linux软件包管理器&#xff1a;yum到底是什么关于yum指令&#xff1a;关于yum源 2. rzsz指令1. Linux编辑器——vim编辑器vim编辑器的三种主要模式vim编辑器命令模式常用快捷键&#xff1a;vim操作总结…