(二十三)大数据实战——Flume数据采集之采集数据聚合案例实战

前言

本节内容我们主要介绍一下Flume数据采集过程中,如何把多个数据采集点的数据聚合到一个地方供分析使用。我们使用hadoop101服务器采集nc数据,hadoop102采集文件数据,将hadoop101和hadoop102服务器采集的数据聚合到hadoop103服务器输出到控制台。其整体架构如下:

正文

①在hadoop101服务器的/opt/module/apache-flume-1.9.0/job/group1目录下创建job-nc-flume-avro.conf配置文件,用于监控nc发送的数据,通过avro sink传输到avro source

  • job-nc-flume-avro.conf配置文件

    Name the components on this agent

    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1

    Describe/configure the source

    a1.sources.r1.type = exec
    a1.sources.r1.command = tail -F /opt/module/apache-flume-1.9.0/a.log
    a1.sources.r1.shell = /bin/bash -c

    Describe the sink

    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop103
    a1.sinks.k1.port = 4141

    Describe the channel

    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100

    Bind the source and sink to the channel

    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1

②在hadoop102服务器的/opt/module/apache-flume-1.9.0/job/group1目录下创建job-file-flume-avro.conf配置文件,用于监控目录/opt/module/apache-flume-1.9.0/a.log的数据,通过avro sink传输到avro source

  • job-file-flume-avro.conf配置文件

    Name the components on this agent

    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1

    Describe/configure the source

    a1.sources.r1.type = exec
    a1.sources.r1.command = tail -F /opt/module/apache-flume-1.9.0/a.log
    a1.sources.r1.shell = /bin/bash -c

    Describe the sink

    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop103
    a1.sinks.k1.port = 4141

    Describe the channel

    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100

    Bind the source and sink to the channel

    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1

③在hadoop103服务器的/opt/module/apache-flume-1.9.0/job/group1目录下创建job-avro-flume-console.conf配置文件,用户将avro source聚合的数据输出到控制台

  • job-avro-flume-console.conf配置文件

    Name the components on this agent

    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1

    Describe/configure the source

    a1.sources.r1.type = avro
    a1.sources.r1.bind = hadoop103
    a1.sources.r1.port = 4141

    Describe the sink

    Describe the sink

    a1.sinks.k1.type = logger

    Describe the channel

    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100

    Bind the source and sink to the channel

    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1

④ 在hadoop103启动job-avro-flume-console.conf任务

  • 命令:

    bin/flume-ng agent -c conf/ -n a1 -f job/group1/job-avro-flume-console.conf -Dflume.root.logger=INFO,console

⑤在hadoop101启动job-nc-flume-avro.conf任务

  • 命令:

    bin/flume-ng agent -c conf/ -n a1 -f job/group1/job-nc-flume-avro.conf -Dflume.root.logger=INFO,console

⑥在hadoop102启动job-file-flume-avro.conf任务

  • 命令:

    bin/flume-ng agent -c conf/ -n a1 -f job/group1/job-file-flume-avro.conf -Dflume.root.logger=INFO,console

⑦使用nc工具向hadoop101发送数据

  • nc发送数据
  • hadoop103接收到数据

⑧在hadoop102的a.log中写入数据

  • 写入数据
  • hadoop103接收到数据

结语

flume数据聚合就是为了将具有相同属性的数据聚合到一起,便于管理、分析、统计等。至此,关于Flume数据采集之采集数据聚合案例实战到这里就结束了,我们下期见。。。。。。

相关推荐
NGINX开源社区2 小时前
使用 NGINX 作为 AI Proxy
大数据·人工智能·nginx
雪兽软件9 小时前
如何从目标到决策构建大数据战略?
大数据
数据皮皮侠10 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
ToB营销学堂10 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK10 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
昨夜见军贴061613 小时前
AI审核守护生命设备安全:IACheck成为呼吸机消毒效果检测报告的智能审核专家
大数据·人工智能·安全
Elastic 中国社区官方博客14 小时前
现已正式发布: Elastic Cloud Hosted 上的托管 OTLP Endpoint
大数据·运维·数据库·功能测试·elasticsearch·全文检索
D愿你归来仍是少年14 小时前
Flink 并行度变更时 RocksDB 状态迁移的关键机制与原理
大数据·flink·apache
昨夜见军贴061614 小时前
AI审核守护透析安全:IACheck助力透析微生物检测报告精准合规
大数据·人工智能·安全
新新学长搞科研15 小时前
【高届数会议征稿】第十二届传感云和边缘计算系统国际会议(SCECS 2026)
大数据·人工智能·生成对抗网络·边缘计算·传感器·学术会议