(二十二)大数据实战——Flume数据采集之故障转移案例实战

前言

本节内容我们完成Flume数据采集的故障转移案例,使用三台服务器,一台服务器负责采集nc数据,通过使用failover模式的Sink处理器完成监控数据的故障转移,使用Avro的方式完成flume之间采集数据的传输。整体架构如下:

正文

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

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

    Name the components on this agent

    a1.sources = r1
    a1.channels = c1
    a1.sinkgroups = g1
    a1.sinks = k1 k2

    Describe/configure the source

    a1.sources.r1.type = netcat
    a1.sources.r1.bind = localhost
    a1.sources.r1.port = 44444
    a1.sinkgroups.g1.processor.type = failover
    a1.sinkgroups.g1.processor.priority.k1 = 5
    a1.sinkgroups.g1.processor.priority.k2 = 10
    a1.sinkgroups.g1.processor.maxpenalty = 10000

    Describe the sink

    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop102
    a1.sinks.k1.port = 4141
    a1.sinks.k2.type = avro
    a1.sinks.k2.hostname = hadoop103
    a1.sinks.k2.port = 4142

    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.sinkgroups.g1.sinks = k1 k2
    a1.sinks.k1.channel = c1
    a1.sinks.k2.channel = c1

②在hadoop102服务器的/opt/module/apache-flume-1.9.0/job目录下创建job-avro-flume-console102.conf配置文件,用于监控avro source数据到控制台

  • job-avro-flume-console102.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 = hadoop102
    a1.sources.r1.port = 4141

    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服务器的/opt/module/apache-flume-1.9.0/job目录下创建job-avro-flume-console103.conf配置文件,用于监控avro source数据到控制台

  • job-avro-flume-console103.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 = 4142

    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

④启动hadoop102上的flume任务job-avro-flume-console102.conf

  • 命令:

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

⑤启动hadoop103上的flume任务job-avro-flume-console103.conf

  • 命令:

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

⑥启动hadoop101上的flume任务job-nc-flume-avro.conf

  • 命令:

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

⑦使用nc向本地44444监控端口发送数据

  • 由于hadoop103中的sink avro优先级高于hadoop102中的sink avro,故hadoop103接收到了nc发送的数据

  • 此时将hadoop103中的flume任务停止,继续通过nc发送数据,hadoop102的sink avro替换hadoop103中的flume任务继续接收数据打印到控制台

  • 此时在将hadoop103中的flume监控恢复,继续通过nc发送数据,数据继续通过hadoop103中的sink avro接收数据

结语

至此,关于Flume数据采集之故障转移案例实战到这里就结束了,我们下期见。。。。。。

相关推荐
遇码8 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent
JXJD20049 小时前
224G PAM4 高速线束:阻抗匹配设计与损耗控制的核心逻辑
大数据·ai
康实训9 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践
大数据·人工智能·算法·实训室·实训室建设
ha_lydms9 小时前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
lisw059 小时前
制造业信息化:现代工业的发展趋势!
大数据·网络·人工智能
AllData公司负责人9 小时前
AllData搭建大模型资产中台集成开源项目BISHENG/Crater/Coze-Studio/Coze-Loop/DataFIow,建设AI大模型开发底座
大数据·人工智能·开源·bisheng·coze-studio·crater·datafiow
cc5725026539 小时前
2027校招岗位拆解:数学与应用数学转量化运营,SQL、Python与量化研究要求有何不同?
大数据
cspttty10 小时前
2027用户研究求职准备:应用统计学如何补齐研究设计与业务表达
大数据·数据库
麦豆GEO10 小时前
GEO与传统内容营销的核心差异:AI时代内容运营的全面升级
大数据·人工智能·内容运营
ha_lydms11 小时前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute