温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

flume的功能是什么

发布时间:2021-12-10 10:01:02 来源:亿速云 阅读:268 作者:iii 栏目:云计算

这篇文章主要介绍“flume的功能是什么”,在日常操作中,相信很多人在flume的功能是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”flume的功能是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

flume自带写hdfs的组建 hdfs sink,功能和性能都不错,就是有些缺点不好克服。

1,收集的日志一直在写hadoop,虽然可以订一个规则间断写hadoop,例如设置batchSize等,但在大压力下,几乎可以认为是每时每刻都在写hafs.

2,容错性差,日志收集的过程中,hadoop出现错误(例如,hdfs丢块)等问题,就会崩溃。

3,还有4,5等等,就是hdfs sink 有些问题了,不写了。

这里写一个先收集日志到本地,形成文件,然后把这个文件上载到远程的hadoop上。

这样做有好处,

1,日志收聚到本地文件。在收集日志过程中出现的hadoop错误、异常等等文件,在收集日志成文件的工程中不存在。

2,上传到hadoop采用文件的方式,使用hadoop自己的fs API,可以有很好的效率。

3,很好的容错机制,上传文件的工程中出现hadoop问题,导致文件上传失败,没关系,下一个工作任务再上传就好了,只有上传成功才删除本地文件。

4,还有好多了,这里不写了。

大致的架构

flume的功能是什么

这里做假单的解释:

LocalToHDFSSink.java 就是flume sink的启动类,在配置文件中要做配置的,a1.sinks.k1.type = com.fone.flume.sink.localFile.LocalToHDFSSink

其中如下代码:

@Overridepublic void start() {
......


    CronTriggerFileHDFS cronTriggerFileHDFS = new CronTriggerFileHDFS();
        LOG.info("定时器设置,cron expression :{} .", cronExpression);try {
            cronTriggerFileHDFS.run(filePath, hdfsPath, cronExpression, isKeep);
        } catch (Exception e) {
            LOG.warn("向hdfs写文件的定时器错误,错误:{}.", e);
        }
        sinkCounter.start();

......
}
@Overridepublic void stop() {
......if (cronTriggerFileHDFS != null) {try {
                cronTriggerFileHDFS.shutdown();
            } catch (Exception e) {// TODO Auto-generated catch block                e.printStackTrace();
            }
        }


......
}

开关定时器。

定时器设定:a1.sinks.k1.local.cronExpression = 0 */15  * * * ? 按照quartZ的设置要求进行设置,不了解者去看quartZ cronTigger设置。

LocalToHDFSSink的文件存储是这样的,本地文件给定一个初始的目录a1.sinks.k1.local.directory,日志在这个初始的目录存储,动态的目录结构通过a1.sinks.k1.local.middleDir 设置。

远程的hadoop给定一个初始的目录a1.sinks.k1.hdfs.directory ,其它的目录结构和文件与本地的设置完全相同,也就是把a1.sinks.k1.local.directory目录下的所有内容,复制到a1.sinks.k1.hdfs.directory 完成工作。

日志收集文件在本地产生,没有完成的时候,带文件名后缀.tmp,完成后去掉.tmp,以此作为是否现在执行复制到hadoop的标志。

其余的看代码吧。

到此,关于“flume的功能是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI