Flume-0.9.4配置Hbasesink

来源:互联网 发布:苹果美版网络锁查询 编辑:程序博客网 时间:2024/06/14 08:35

Flume-0.9.4配置Hbasesink

 

 

在本博客的《Flume-1.4.0和Hbase-0.96.0整合》我们已经学习了如何使用Flume-1.4.0和Hbase-0.96.0进行整合。我们可以很容易的配置Hbase sink,并和最新版的Hbase整合,但是由于项目的特殊情况,我需要将Flume-0.9.4和Hbase-0.96整合,搞过这个的人应该知道,Flume-0.9.4和Hbase-0.96非常棘手,各种版本的不兼容等情况,最终通过我和同事的两天奋战,终于通过修改Hadoop-2.2.0和Flume-0.9.4的一些源码,使得Flume-0.9.4.0和Hbase-0.96.0整合成功了(如果有需要知道我们如何修改Hadoop-2.2.0和Flume-0.9.4的源码的人,可以邮件联系我:wyphao.2007@163.com)。今天主要是分享如何在Flume-0.9.4里面配置Hbase sink。

  在下载好的Flume-0.9.4里面有两个用于测试Hbasesink的插件类,但是默认情况下,这个插件类是没有被启用的,读完这篇文章你将会了解到如何配置Hbase sink。
  1、修改$FLUME_HOME/conf/flume-site.xml的配置文件,在里面添加以下配置:

1

<property>

 

2

    <name>flume.plugin.classes</name>

 

3

    <value>com.cloudera.flume.hbase.HBaseSink,

 

4

    com.cloudera.flume.hbase.Attr2HBaseEventSink</value>

 

5

    <description>Comma separated list of plugin classes</description>

 

6

</property>

其中value属性配置的是Hbase sink类,需要将包名添加进去。

  如果你需要编写自己的Hbase Sink类,只需要使你的类继承自EventSink.Base类,并按要求重写其中的一些方法,具体可以参照Flume源码自带的HBaseSink和Attr2HBaseEventSink类的写法。

  2、拷贝Hbase sink jar文件到$FLUME_HOME/plugins文件夹里面

1

[wyp@master plugins] cp ~/flume-plugin-hbasesink-0.9.4-cdh3u3.jar \

 

2

        $FLUME_HOME/plugins

其实不需要拷贝到$FLUME_HOME/plugins里面,你随便放都行,这里主要是为了便于以后的管理而这样配置的。
  3、修改$FLUME_HOME/bin/flume-env.sh文件,在里面添加如下内容

1

export FLUME_CLASSPATH=     \

 

2

  /home/q/flume-0.9.4-cdh3u3/plugins/flume-plugin-hbasesink-0.9.4-cdh3u3.jar

  4、重启Flume master节点
重启完Flume master节点之后,可以在http://master:35871/masterext.jsp页面中的Sinks表格里面看到attr2hbase和hbase两个Hbase sink,这样你就可以在collector里面用到这个Sink。当然,如果默认的Hbase sink不能满足你的要求,可以自己写一个Hbase sink。关于如何写自己的Hbase sink,感兴趣的同学可以留言或者给我发邮件。

云帆教育大数据学院www.cloudyhadoop.com 详情请加入QQ:374152400 ,咨询课程顾问!

关注云帆教育微信公众号yfteach,第一时间获取公开课信息。

 

 

 

 

 

 

 

 

 

 

 

0 0