flume插件开发

转自:http://www.aboutyun.com/forum.php?mod=viewthread&tid=8295&highlight=flume

参考:http://www.aboutyun.com/forum.php?mod=viewthread&tid=8315&highlight=flume

首先第一步你有这个类:
开发完毕,然后打包jar包,将jar包加入到flume中,有两种方法:


方法一 :
进入vi /etc/profile 在文件中加入 export FLUME_CLASSPATH = XXX/XX/XXX.jar
在CALSSPATH 的尾部加入:$FLUME_CLASSPATH , 然后保存退出后,在命令行执行sh /etc/profile ,通过在命令行输入 flume classpath 查看插件jar包是否在其中,在其中表示配置完成(注:开发插件时引入的jar包必须都能够在flume classpath下找到,如果找不到的话像加入插件包的方式加入)


方法二:

简单的方法是将开发的jar包和需要引入的jar包直接复制到/usr/lib/flume/lib
修改flume-site.xml文件 如下所示:

  1. <property>
  2. <name>flume.plugin.classes</name>   
  3. <value>插件类得全路径名(如:hello.HelloWorldSink) </value>
  4.     <description>Comma separated list of plugin classes</description>
  5.   </property>
复制代码



将flume-site.xml文件放到master 和collector的/etc/flume/conf 下
启动集群配置即可

flume插件开发一般分如下步骤:
1 编写插件类(Sink/Source/Decorator)相应的继承flume的(EventSink.Base/ EventSource.Base/EventSinkDecorator<S>)
Source必须实现四个方法:

  1. void open() throws IOException 
  2.         Event next() throws IOException 
  3. void close() throws IOException 
  4. ReportEvent getReport()
复制代码




  Sink和Decorator必须实现四个方法:
  1. void open() throws IOException 
  2.         void append(Event e) throws IOException 
  3.         void close() throws IOException 
  4.         ReportEvent getReport()
复制代码


主要介绍sink插件的开发
append(Event e)方法中的event参数是flume框架自带的类,日志文件的一行记录会在flume框架中封装成一个event,在append方法中对event的处理就可以当做是处理日志文件的每一行,Event包含的六个属性是:
               
        Unix timestamp  时间戳
                                Nanosecond timestamp 
                                Priority 
        Source host 主机地址(这个地址是产生日志的文件地址)
                                Body 日志文件的一行
        Metadata table with an arbitrary number of attribute value pairs.


在sink的插件类中一定要是加入下面的代码:
public static List<Pair<String, SinkBuilder>> getSinkBuilders() {
                List<Pair<String, SinkBuilder>> builders = new ArrayList<Pair<String, SinkBuilder>>();
                builders.add(new Pair<String, SinkBuilder>("HBaseEventSinkV1",
                                builder()));
                return builders;
        }


因为flume的SinkFactoryImpl中需要通过这份方法将写的插件类注册到flume,如果不写会报错,"HBaseEventSinkV1" 就是注册名
以开发collector的插件类为例,完成插件类的开发之后,将插件类打包分别放到master和collector主机上(注:多个master和多个collector的情况下要都放置,最好目录都一样,便于配置flume classpath)。


根据上面的方法,首先你可以自定义个sink,然后把这个类放到flume中,放到flume中后,你在配置文件中,配置自己自定义的type
agent1.sinks.sink1.type=“自定义

这样他应该就能找到你的

你可以自定义到Kafka

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/65977804 【完整课程列表】 大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx 大数据与云计算教程课件 优质大数据课程 02.MapReduce(共23页).pptx 大数据与云计算教程课件 优质大数据课程 03.Hadoop YARN(共25页).pptx 大数据与云计算教程课件 优质大数据课程 04.MapReduce Eclipse开发插件(共20页).pptx 大数据与云计算教程课件 优质大数据课程 05.Hadoop入门数据分析实战(共57页).pptx 大数据与云计算教程课件 优质大数据课程 06.HDFS(共38页).pptx 大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共29页).pptx 大数据与云计算教程课件 优质大数据课程 10.MapReduce MP过程进阶(共42页).pptx 大数据与云计算教程课件 优质大数据课程 11.MapReduce IO操作(共61页).pptx 大数据与云计算教程课件 优质大数据课程 12.序列化框架(共28页).pptx 大数据与云计算教程课件 优质大数据课程 13.深入MapReduce应用开发(共21页).pptx 大数据与云计算教程课件 优质大数据课程 14.Hadoop集群配置(共6页).pptx 大数据与云计算教程课件 优质大数据课程 15.Hive(共46页).pptx 大数据与云计算教程课件 优质大数据课程 16.Hive操作(共43页).pptx 大数据与云计算教程课件 优质大数据课程 17.Hive查询(共32页).pptx 大数据与云计算教程课件 优质大数据课程 18.HBase(共43页).pptx 大数据与云计算教程课件 优质大数据课程 19.Pig(共33页).pptx 大数据与云计算教程课件 优质大数据课程 20.Pig Latin(共36页).pptx 大数据与云计算教程课件 优质大数据课程 21.Pig模式与函数(共64页).pptx 大数据与云计算教程课件 优质大数据课程 22.Zookeeper(共28页).pptx 大数据与云计算教程课件 优质大数据课程 23.Zookeeper服务(共47页).pptx 大数据与云计算教程课件 优质大数据课程 24.使用Zookeeper构建应用(共34页).pptx 大数据与云计算教程课件 优质大数据课程 25.Sqoop(共19页).pptx 大数据与云计算教程课件 优质大数据课程 26.深入Sqoop的导入(共29页).pptx 大数据与云计算教程课件 优质大数据课程 27.深入Sqoop导出(共19页).pptx 大数据与云计算教程课件 优质大数据课程 28.Flume(共33页).pptx 大数据与云计算教程课件 优质大数据课程 29.Kafka(共30页).pptx 大数据与云计算教程课件 优质大数据课程 30.Kafka开发(共34页).pptx 大数据与云计算教程课件 优质大数据课程 31.Strom(共14页).pptx 大数据与云计算教程课件 优质大数据课程 32.Spark入门之Scala(共173页).pptx 大数据与云计算教程课件 优质大数据课程 33.Spark入门(共40页).pptx 大数据与云计算教程课件 优质大数据课程 34.SparkSQL(共15页).pptx 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx 大数据与云计算教程课件 优质大数据课程 36.Impala(共20页).pptx 大数据与云计算教程课件 优质大数据课程 37.Solr(共38页).pptx 大数据与云计算教程课件 优质大数据课程 38.Lily(共23页).pptx 大数据与云计算教程课件 优质大数据课程 39.Titan(共20页).pptx 大数据与云计算教程课件 优质大数据课程 40.Neo4j(共50页).pptx 大数据与云计算教程课件 优质大数据课程 41.Elasticsearch(共17页).pptx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值