概述
准备条件:提前安装好HDFS集群和flume集群
flume的容错(failover)
容错是指在采集日志时,配置多个fluem安装优先级的大小(只有一台flume采集,其他的flume相当于替补),分顺序的采集日志。
配置文件
创建"exec-avro.conf"
[root@hadoop1 conf]# vi exec-avro.conf
#指定Agent的组件名称
a1.sources = r1
a1.channels = c1
#指定两个下沉地址
a1.sinks = k1 k2
#设置资源,此处监听文件,也可以是监听文件夹或者端口
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /a.log
#设置通道channels
a1.channels.c1.type = memory
a1.channels.c1.capatity = 1000
a1.channels.c1.transactionCapacity = 100
#设置sink1,通过52020这个端口传递到"192.168.215.165"中
#设置下沉目的地sink1,avro可以跨网络传输
a1.sinks.k1.type=avro
a1.sinks.k1.hostname=192.168.215.165
a1.sinks.k1.port=52020
#设置sink2,通过52020这个端口传递到"192.168.215.166"中
a1.sinks.k2.type=avro
a1.sinks.k2.hostname=192.168.215.166
a1.sinks.k2.port=52020
#关系
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
a1.sinks.k2.channel=c1
#设置proceecing
a1.sinkgroups=g1
a1.sinkgroups.g1.sinks=k1 k2
#指明容错优先级
a1.sinkgroups.g1.processor.type=failover
a1.sinkgroups.g1.processor.priority.k1=10
a1.sinkgroups.g1.processor.priority.k2=4
a1.sinkgroups.g1.processor.maxpenalty=10000
创建"avro-logger.conf"(第二级配置,将数据下沉到logger,在每个二级机器上都创建)
[root@hadoop2 conf]# vi avro-logger.conf
[root@hadoop3 conf]# vi avro-logger.conf
#命名
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#资源
a1.sources.r1.type = avro
#各个二级虚拟机只需要修改这一行代码
a1.sources.r1.bind = 192.168.215.165
a1.sources.r1.port = 52020
# sink,这个下沉类型可以改变
a1.sinks.k1.type = logger
#通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#连接
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
创建"avro-logger.conf"(第二级配置,将数据下沉到hdfs集群,在每个二级机器上都创建)
#命名
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#资源
a1.sources.r1.type = avro
#各个二级虚拟机只需要修改这一行代码
a1.sources.r1.bind = 192.168.215.165
a1.sources.r1.port = 52020
# sink,这个下沉类型可以改变
a1.sinks.k1.type = hdfs
#对于sink的配置描述 传递到hdfs上面
a1.sinks.k1.type = hdfs
#集群的nameservers名字,没有名字就写成"NameNode节点的ip:9000"
#单节点的直接写:hdfs://hadoop1:9000/xxx
a1.sinks.k1.hdfs.path = hdfs://ns/flume/%Y%m%d
a1.sinks.k1.hdfs.filePrefix = events-
a1.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a1.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
a1.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
a1.sinks.k1.hdfs.rollInterval = 60
#对于channel的配置描述 使用内存缓冲区域做数据的临时缓存
a1.channels.c1.type = memory
a1.channels.c1.capacity = 2000
a1.channels.c1.transactionCapacity = 1000
#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动
[root@hadoop2 apache-flume-1.8.0-bin]# flume-ng agent --conf conf --conf-file conf/avro-logger.conf --name a1 -Dflume.root.logger=INFO,console
[root@hadoop3 apache-flume-1.8.0-bin]# flume-ng agent --conf conf --conf-file conf/avro-logger.conf --name a1 -Dflume.root.logger=INFO,console
[root@hadoop1 apache-flume-1.8.0-bin]# flume-ng agent --conf conf --conf-file conf/exec-avro.conf --name a1 -Dflume.root.logger=INFO,console
最后
以上就是端庄歌曲为你收集整理的fiume的容错机制flume的容错(failover)配置文件的全部内容,希望文章能够帮你解决fiume的容错机制flume的容错(failover)配置文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复