Flume学习(3)--拓扑结构+企业开发案例(必学!)

目录

Flume拓扑结构

Flume企业开发案例

Flume拓扑结构

拓扑结构就是将多个Abent进行串联

简单串联

这种模式是将多个 flume 顺序连接起来了,从最初的 source 开始到最终 sink 传送的目的存储系统。

Avro是轻量级的RPC通信框架,这种通信框架基于服务端和客户端,需要先开服务端,Avro Source是服务端,当两个Flume不在一台机器上时,需要配置的端口号是服务端所在机器的端口号。

网页上访问是属于web端口,它是给用户查询信息用的,不需要特意去写配置。

不建议桥接过多的 flume 数量, flume 数量过多不仅会影响传输速率,而且一旦传输过程中某个节点 flume 宕机,会影响整个传输系统。

复制和多路复用

负载均衡和故障转移

负载均衡Sink Processor上配Load Balance,故障转移Sink Processor上配Failover。

聚合

Flume企业开发案例

  1. 案例要求

  使用Flume-1监控文件变动,Flume-1将变动的内容传递给Flume-2,Flume-2负责存储到HDFS。同时Flume-1将变动的内容传递给Flume-3,Flume-3负责输出到Local FileSystem。

需求分析:

建立flume3目录(/opt/module/data/flume3)data没有自己建

在flume的job目录里面建立jroup1目录

在jroup1目录里面创建flume-file-flume.conf文件(Flume-1)

# Name the components on this agent

a1.sources = r1

a1.sinks = k1 k2

a1.channels = c1 c2

#将数据流复制给所有channel

a1.sources.r1.selector.type = replicating

# Describe/configure the source

a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /opt/module/hive/logs/hive.log

a1.sources.r1.shell = /bin/bash -c

# sink端的avro是一个数据发送者

a1.sinks.k1.type = avro

a1.sinks.k2.hostname = hadoop102

a1.sinks.k2.port = 4141

a1.sinks.k2.type = avro

a1.sinks.k2.hostname = hadoop102

a1.sinks.k2.port = 4142

# Descride the channel

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100

a1.channels.c2.type = memory

a1.channels.c2.capacity = 1000

a1.channels.c2.transactionCapacity = 100

# Bind the source and sink to the channel

a1.sources.r1.channels = c1 c2

a1.sinks.k1.channel = c1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值