IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据课程——Flume综合运用 -> 正文阅读

[大数据]大数据课程——Flume综合运用

大数据课程——Flume综合运用

实验内容以及要求

如下图所示,在某一实际应用中,有一个的数据源(可用Source类型为Exec Source或NetCat Source的Agent a1来用模拟),为方便后期数据分析,需要记录事件的产生IP、时间(格式:年月日时分秒)以及事件类型(事件类型根据事件Body中包含WARNING:、ERROR:、INFO:来确定为WARNING、ERROR、INFO,如不包含,则无需记录事件类型),事件经处理后汇总到Agent a2。Agent a2根据事件类型,将事件分别送入不同通道进行下一步处理,并将事件类型为WARNING、ERROR写入Kafka集群,并最终被消费者和Agent a3进行消费。
在这里插入图片描述
请按照上述应用场景,部署Flume和Kafka,并完成相应的配置。

问题总结

本次实验其实不算非常成功,主要问题在于Agent2的选择器没能起作用,不能成功根据Header中的EventType对消息进行分流。最终找了很久也没找出原因。我自己的测试过eventType是否成功被写入Header中,但测试结果是肯定的,已经成功把eventType写入了event的Header中了。而且配置文件也检查了很多遍,没发现问题,运行时也没报错。但就是不知道为什么选择器不能成功发挥作用。

实验步骤

Centos01(Agent3)配置

Centos01作为Agent3,负责从Kafka集群里获取数据写入HDFS中。因此Source写Kafka,Sink写HDFS。
在这里插入图片描述
在这里插入图片描述

Centos02(Agent2)配置

Centos02作为Agent2,负责从Agent1接受数据,并且设置选择器,将接收到的数据进行分流,eventType为NULL或INFO的数据直接输出到Console;为ERROR或WARNING的数据输出到Kafka集群中。因此Source设置为Avro,设置selector;Sink设置为Kafka。

在这里插入图片描述
在这里插入图片描述

Centos03(Agent1)配置

Centos03作为Agent1,负责监控data.log,产生消息。并且设置拦截器,加入timestamp、host、eventType拦截器。使得从event的body中提取出消息类型,加入到header中,给body加入时间戳和Host信息等。最后发送给Agent02进行消息分流。因此,Source设置为exec,Sink设置为Avro。

在这里插入图片描述
在这里插入图片描述

运行展示

在这里插入图片描述

Agent1产生消息,写入带有eventType的消息。如果某条消息不带有eventType的话,则默认消息类型为NULL。
由于Agent1有Host拦截器,所以会在event的header中添加Host信息;有Timestamp拦截器,所以会在header中添加时间戳信息;有自定义的EventType拦截器,能从消息中提取出消息类型eventType,并且往header中添加eventType,并且从header中提取出Host和时间戳信息,添加到event的Body中。

在这里插入图片描述

在Agent2上如果开启了Kafka消费者的话,可以看到event的body发生了改变,除了原有信息外,还被添加了host、timestamp和eventType信息,说明Agent1的拦截器成功生效。并且这些信息会被Agent2进行分流:消息类型为NULL或INFO的信息被直接输出到console上;而消息类型为ERROR或WARNING的信息会被写入到Kafka的topictest话题中。

在这里插入图片描述

在Agent3上,Agent3会从Kafka的topictest话题中获取信息,并将这些信息全部写入到HDFS中进行存储,如上图所示。
只是很可惜,我不知道为什么我这里Agent2没能成功对消息进行分流,全部都被写入到了HDFS当中。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:30:44  更:2022-05-11 16:33:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:02:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码