Flume负载均衡与故障转移原理及实现

11 篇文章 0 订阅

原理

在这里插入图片描述
负载均衡:将多个sink逻辑上分为一个sink组,sink组配合不同的SinkProcessor将数据相对均匀的分发到指定目录或者其他agent实例
故障转移:有主备agent,主agent负责数据的采集、传输、落地,备用agent一直处于监听状态,一旦主agent宕机,备用agent启动,进行主agent的工作,直到主agent恢复。

案例

使用Flume1监控一个端口,其sink组中的sink分别对接Flume2和Flume3,采用FailoverSinkProcessor,实现故障转移的功能。
在这里插入图片描述
如图所示,flume1采集数据,根据SinkProcessor的类型分发数据到不同的Sink,如果SinkProcessor的类型指定为failover,就是故障转移实例;如果SinkProcessor的类型指定为load_balance,就是负载均衡的实例。

配置文件

# agent1
# 定义sources、channels、sinks
a1.sources = r1
a1.channels = c1
a1.sinks = k1 k2

# 配置source
a1.sources.r1.type = netcat
a1.sources.r1.bind = hadoop01
a1.sources.r1.port = 11111

# 配置channel
a1.channels.c1.type = memory

# 配置sink组
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
# 配置SinkProcessor:failover是故障转移,load_balance是负载均衡
# a1.sinkgroups.g1.processor.type = failover
a1.sinkgroups.g1.processor.type = load_balance
# 如果是负载均衡,还需要配置负载均衡策略 round_robin或者random
a1.sinkgroups.g1.processor.selector = round_robin

# 配置sink:k1发送数据到hadoop02
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop02
a1.sinks.k1.port = 22222

# 配置sink k2:数据发送到hadoop03的33333端口
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop03
a1.sinks.k2.port = 33333

# 配置source、channel、sink关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
a1.sinks.k2.channel = c1
# agent2
# 定义sources、channels、sinks
a1.sources = r1
a1.channels = c1
a1.sinks = k1

# 配置source 从指定地址的端口接收数据
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop02
a1.sources.r1.port = 22222

# 配置channel
a1.channels.c1.type = memory

# 配置sink 
a1.sinks.k1.type = logger
# 测试logger打印到控制台


# 配置source、sink、channel关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

# agent3
# 定义sources、channels、sinks
a1.sources = r1
a1.channels = c1
a1.sinks = k1

# 配置source 从指定地址的端口接收数据
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop03
a1.sources.r1.port = 33333

# 配置channel
a1.channels.c1.type = memory

# 配置sink 
a1.sinks.k1.type = logger
# 测试logger打印到控制台


# 配置source、sink、channel关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值