博客
关于我
flume容错(故障转移)
阅读量:620 次
发布时间:2019-03-13

本文共 2203 字,大约阅读时间需要 7 分钟。

Flume容错(故障转移)配置实例

1. 概念

Flume容错机制用于实现故障转移,即在一台机器出现故障时,另一台机器代替其工作。这种设计通常用于解决单点故障问题,通过为关键部件设置备份,确保数据不会丢失或处理中断。

容错机制的工作原理是:当主机器出现故障时,容错入口会自动切换到备用机器,确保流数据继续正常传输。备份的数量越多,容错能力越强,但同时也会带来资源的浪费。

2. 脚本编写

本节将介绍如何配置一个简单的Flume容错场景。

2.1. 创建配置文件

2.1.1. hadoop01(执行端)

# agent1配置agent1.sources = r1agent1.channels = c1agent1.sinks = k1 k2agent1.sinkgroups = g1agent1.channels.c1.type = memoryagent1.channels.c1.capacity = 1000agent1.channels.c1.transactionCapacity = 100agent1.sources.r1.channels = c1agent1.sources.r1.type = execagent1.sources.r1.command = tail -F /home/xiaokang/logs/456.log#basic sono配置agent1.sinks.k1.channel = c1agent1.sinks.k1.type = avroagent1.sinks.k1.hostname = hadoop02agent1.sinks.k1.port = 52020agent1.sinks.k2.channel = c1agent1.sinks.k2.type = avroagent1.sinks.k2.hostname = hadoop03agent1.sinks.k2.port = 52020# failover配置agent1.sinkgroups.g1 Processor.type = failoveragent1.sinkgroups.g1.sinks = k1 k2agent1.sinkgroups.g1.processor.priority.k1 = 10agent1.sinkgroups.g1.processor.priority.k2 = 1agent1.sinkgroups.g1.processor.maxPenalty = 10000

2.1.2. hadoop02(数据源)

a1.sources = r1a1.sinks = k1a1.channels = c1a1.sources.r1.type = avroa1.sources.r1.bind = hadoop02a1.sources.r1.port = 52020a1.sinks.k1.type = loggera1.sinks.k1.channel = c1

2.1.3. hadoop03(备用端)

a1.sources = r1a1.sinks = k1a1.channels = c1a1.sources.r1.type = avroa1.sources.r1.bind = hadoop02a1.sources.r1.port = 52020a1.sinks.k1.type = loggera1.sinks.k1.channel = c1

2.2. 启动Flume Agent

# hadoop01启动$ flume-ng agent -n agent1 -c /opt/software/flume-1.9.0/conf/ -f flume_scripts/exec-avro-failover.properties -Dflume.root.logger=INFO,console# hadoop02启动$ flume-ng agent -n a1 -c /opt/software/flume-1.9.0/conf/ -f flume_scripts/avro-logger-failover.properties -Dflume.root.logger=INFO,console# hadoop03启动$ flume-ng agent -n a1 -c /opt/software/flume-1.9.0/conf/ -f flume_scripts/avro-logger-failover.properties -Dflume.root.logger=INFO,console

3. 验证

3.1. 模拟数据生成

在hadoop01执行以下命令,生成模拟日志数据:

$ while true; do date >> /home/xiaokang/logs/456.log; done

3.2. 测试容错机制

启动Flume Agent后,监控hadoop02的日志接收情况。通过登录hadoop02查看Flume运行日志,确认数据是否 正常流向hadoop03(备用端)。

3.3. 故障模拟与测试

  • 偶意列中断hadoop02的网络连接
  • 查看hadoop01的日志输出,确认数据接收情况
  • 观察是否hadoop03接收到数据,并正常处理

转载地址:http://ijpaz.baihongyu.com/

你可能感兴趣的文章
Python+Selenium登录
查看>>
Python日期时间模块
查看>>
Python函数合集:足足68个内置函数请收好!
查看>>
Python+Selenium自动化测试项目实战
查看>>
Python+Selenium自动化测试项目实战【建议收藏】
查看>>
Python+Selenium自动化测试:Page Object模式
查看>>
python+selenium进行cnblog的自动化登录测试
查看>>
Python函数只返回第一个值而不是数据框
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(上)
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(下)
查看>>
PYTHON+Twisted+sqlanydb=ABORT()
查看>>
Python函数之返回值、作用域和局部变量
查看>>
Python+统计学 | 探索常用的数据分析统计分布
查看>>
python, selenium中用于切换帧的函数
查看>>
python函数
查看>>
python----线程、进程、协程的区别及多线程详解
查看>>
python---5
查看>>
python---使用celery分布式系统异步发送短信(云通讯)来验证登录
查看>>
python--003--百分号字符串拼接、format
查看>>
Python--10、线程
查看>>