• (二十二)大数据实战——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配置文件

    1. # Name the components on this agent
    2. a1.sources = r1
    3. a1.channels = c1
    4. a1.sinkgroups = g1
    5. a1.sinks = k1 k2
    6. # Describe/configure the source
    7. a1.sources.r1.type = netcat
    8. a1.sources.r1.bind = localhost
    9. a1.sources.r1.port = 44444
    10. a1.sinkgroups.g1.processor.type = failover
    11. a1.sinkgroups.g1.processor.priority.k1 = 5
    12. a1.sinkgroups.g1.processor.priority.k2 = 10
    13. a1.sinkgroups.g1.processor.maxpenalty = 10000
    14. # Describe the sink
    15. a1.sinks.k1.type = avro
    16. a1.sinks.k1.hostname = hadoop102
    17. a1.sinks.k1.port = 4141
    18. a1.sinks.k2.type = avro
    19. a1.sinks.k2.hostname = hadoop103
    20. a1.sinks.k2.port = 4142
    21. # Describe the channel
    22. a1.channels.c1.type = memory
    23. a1.channels.c1.capacity = 1000
    24. a1.channels.c1.transactionCapacity = 100
    25. # Bind the source and sink to the channel
    26. a1.sources.r1.channels = c1
    27. a1.sinkgroups.g1.sinks = k1 k2
    28. a1.sinks.k1.channel = c1
    29. 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配置文件

    1. # Name the components on this agent
    2. a1.sources = r1
    3. a1.sinks = k1
    4. a1.channels = c1
    5. # Describe/configure the source
    6. a1.sources.r1.type = avro
    7. a1.sources.r1.bind = hadoop102
    8. a1.sources.r1.port = 4141
    9. # Describe the sink
    10. a1.sinks.k1.type = logger
    11. # Describe the channel
    12. a1.channels.c1.type = memory
    13. a1.channels.c1.capacity = 1000
    14. a1.channels.c1.transactionCapacity = 100
    15. # Bind the source and sink to the channel
    16. a1.sources.r1.channels = c1
    17. 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配置文件

    1. # Name the components on this agent
    2. a1.sources = r1
    3. a1.sinks = k1
    4. a1.channels = c1
    5. # Describe/configure the source
    6. a1.sources.r1.type = avro
    7. a1.sources.r1.bind = hadoop103
    8. a1.sources.r1.port = 4142
    9. # Describe the sink
    10. a1.sinks.k1.type = logger
    11. # Describe the channel
    12. a1.channels.c1.type = memory
    13. a1.channels.c1.capacity = 1000
    14. a1.channels.c1.transactionCapacity = 100
    15. # Bind the source and sink to the channel
    16. a1.sources.r1.channels = c1
    17. 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数据采集之故障转移案例实战到这里就结束了,我们下期见。。。。。。

  • 相关阅读:
    ExpressQuantumPack显示的值的图标
    机器学习之SGD, Batch, and Mini Batch的简单介绍
    ffmpeg 通过遍历视频流,对视频帧进行打标
    PSO粒子群算法优化FS508E五轴飞行模拟转台技术方案
    list,dict使用方法
    jni学习2.c++调用java函数
    面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了!
    USB转串口芯片沁恒微CH9340
    HBase学习笔记(2)—— API使用
    EURA欧瑞E1000系列变频器使用PID实现恒压供水功能的相关参数设置及接线
  • 原文地址:https://blog.csdn.net/yprufeng/article/details/132699935