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

你可能感兴趣的文章
OA项目之我的会议(查询)
查看>>
Object c将一个double值转换为时间格式
查看>>
object detection之Win10配置
查看>>
object detection训练自己数据
查看>>
object detection错误Message type "object_detection.protos.SsdFeatureExtractor" has no field named "bat
查看>>
object detection错误之Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
查看>>
object detection错误之no module named nets
查看>>
Object of type 'ndarray' is not JSON serializable
查看>>
Object Oriented Programming in JavaScript
查看>>
object references an unsaved transient instance - save the transient instance before flushing
查看>>
Object.assign用法
查看>>
Object.create
查看>>
Object.keys()的详解和用法
查看>>
objectForKey与valueForKey在NSDictionary中的差异
查看>>
Objective - C 小谈:消息机制的原理与使用
查看>>
OBJECTIVE C (XCODE) 绘图功能简介(转载)
查看>>
Objective-C ---JSON 解析 和 KVC
查看>>
Objective-C 编码规范
查看>>
Objective-Cfor循环实现Factorial阶乘算法 (附完整源码)
查看>>
Objective-C——判断对象等同性
查看>>