flume 的负载均衡(load-balance)和容错(机制)
学习前 先了解一下
企业中可能遇见的一个问题:spooldir 监控的目录文件 有重复名的话会报错且罢工!
在企业中如何控制文件的产生 文件名不同 我们20150109-01.log【我们文件名产生前用时间控制文件名 年月日小时 每一个小时的数据存储在一个文件中。这样就保证了 数据源文件名的不重复。
如何模拟一个不断变化的文件。 shell 循环
直接敲命名:while true;do date >> test.log;sleep 0.5;done
或者 写shell 脚本
#!/bin/bash
while true
do
date >> test.log
sleep 0.5
done
一/flume 的负载均衡(load-balance)
简单讲:一个agent 从服务器上获取数据源下沉到多个sink,多个sinK再由多个其他的agent1/agent2/agent3等来处理 然后sink 都到hdfs.
首先了解一下 文件内容是什么意思
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2 k3
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true #如果开启,则将失败的 sink 放入黑名单
a1.sinkgroups.g1.processor.selector = round_robin # 另外还支持 random 随机round_robin 是轮训的意思
a1.sinkgroups.g1.processor.selector.maxTimeOut=10000 #在黑名单放置的超时时间,超时结
束时,若仍然无法接收,则超时时间呈指数增长
首先将note1上的flume 分发的到note2和Note3上
命令:scp -r /export/servers/flume/ root@note2:/export/servers/
Scp -r /export/servers/flume/ root@note3:/export/servers/
直接案例:
1.在no