Flume-NG采集日志信息到HDFS(测试单节点)

网友投稿 281 2022-11-25

Flume-NG采集日志信息到HDFS(测试单节点)

一.Flume NG简述Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中。轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均衡。并且它拥有非常丰富的组件。Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和 Sink,三者组建了一个Agent。三者的职责如下所示:•Source:用来消费(收集)数据源到Channel组件中•Channel:中转临时存储,保存所有Source组件信息•Sink:从Channel中读取,读取成功后会删除Channel中的信息

1.下载最新版的flume apache-flume-1.9.0-bin.tar.gz

2.配置java环境变量cd /data/apache-flume-1.9.0-bin/confcp flume-env.sh.template flume-env.sh

3.单节点flume配置文件cp flume-conf.properties.template

vim flume.conf注释之前的配置这个配置文件定义了一个单agent名字叫agent1,agent1有一个source在采集一个目录下的日志文件,agent1的channel是file,sink是直接输送hdfs,由于是测试,在本机提前创建好一个日志目录/data/testdir/logdfs,创建数据通道的目录/data/apache-flume-1.9.0-bin/dir/logdfstmp/point

#agent1 nameagent1.sources=source1agent1.sinks=sink1agent1.channels=channel1#Spooling Directory

#set source1agent1.sources.source1.type=spooldiragent1.sources.source1.spoolDir=/data/testdir/logdfsagent1.sources.source1.channels=channel1agent1.sources.source1.fileHeader = falseagent1.sources.source1.interceptors = i1agent1.sources.source1.interceptors.i1.type = timestamp

#set sink1agent1.sinks.sink1.type=hdfsagent1.sinks.sink1.hdfs.path=hdfs://190.168.3.98:9000/flume/logdfsagent1.sinks.sink1.hdfs.fileType=DataStreamagent1.sinks.sink1.hdfs.writeFormat=TEXTagent1.sinks.sink1.hdfs.rollInterval=1agent1.sinks.sink1.channel=channel1agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%dagent1.sinks.sink1.hdfs.fileSuffix=.txt

#set channel1agent1.channels.channel1.type=fileagent1.channels.channel1.checkpointDir=/data/apache-flume-1.9.0-bin/dir/logdfstmp/pointagent1.channels.channel1.dataDirs=/data/apache-flume-1.9.0-bin/dir/logdfstmp

经过查询,参考百度找到的解决方法是jar版本不一致或者是flume里的guava比hadoop库里的guava版本低

我们查看hadoop库里的guava版本ll /data/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar

再查看flume里面的guava版本ll /data/apache-flume-1.9.0-bin/lib/guava-11.0.2.jar

版本比hadoop的版本低,将hadoop库里的guava-27.0-jre.jar包替换flume里面的guava-11.0.2.jar包[super@hadoop lib]$ mv guava-11.0.2.jar guava-11.0.2.jar.bak[super@hadoop lib]$ cp -rp /data/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar .

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中启动时如何忽略某项检测
下一篇:Hadoop框架:单服务下伪分布式集群搭建
相关文章

 发表评论

暂时没有评论,来抢沙发吧~