博客
关于我
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/

你可能感兴趣的文章
Objective-C实现Luhn (Mod 10)Algorithm算法(附完整源码)
查看>>
Objective-C实现LZW编码(附完整源码)
查看>>
Objective-C实现MAC桌面暗水印(附完整源码)
查看>>
Objective-C实现mandelbrot曼德勃罗特集算法(附完整源码)
查看>>
Objective-C实现markov chain马尔可夫链算法(附完整源码)
查看>>
Objective-C实现MATLAB中Filter函数功能(附完整源码)
查看>>
Objective-C实现matrix chainorder矩阵链顺序算法(附完整源码)
查看>>
Objective-C实现matrix exponentiation矩阵求幂算法(附完整源码)
查看>>
Objective-C实现MatrixMultiplication矩阵乘法算法 (附完整源码)
查看>>
Objective-C实现max non adjacent sum最大非相邻和算法(附完整源码)
查看>>
Objective-C实现max subarray sum最大子数组和算法(附完整源码)
查看>>
Objective-C实现max sum sliding window最大和滑动窗口算法(附完整源码)
查看>>
Objective-C实现MaxHeap最大堆算法(附完整源码)
查看>>
Objective-C实现MaximumSubarray最大子阵列(Brute Force蛮力解决方案)算法(附完整源码)
查看>>
Objective-C实现MaximumSubarray最大子阵列(动态规划解决方案)算法(附完整源码)
查看>>
Objective-C实现maxpooling计算(附完整源码)
查看>>
Objective-C实现max_difference_pair最大差异对算法(附完整源码)
查看>>
Objective-C实现max_heap最大堆算法(附完整源码)
查看>>
Objective-C实现MD5 (附完整源码)
查看>>
Objective-C实现md5算法(附完整源码)
查看>>