欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Flume-0.9.4配置Hbase sink

  在本博客的《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里面有两个用于测试Hbase sink的插件类,但是默认情况下,这个插件类是没有被启用的,读完这篇文章你将会了解到如何配置Hbase sink。
  1、修改$FLUME_HOME/conf/flume-site.xml的配置文件,在里面添加以下配置:

<property>
    <name>flume.plugin.classes</name>
    <value>com.cloudera.flume.hbase.HBaseSink,
           com.cloudera.flume.hbase.Attr2HBaseEventSink</value>
    <description>Comma separated list of plugin classes</description>
</property>

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

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

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

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

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

export FLUME_CLASSPATH=     \
  /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,感兴趣的同学可以留言或者给我发邮件。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Flume-0.9.4配置Hbase sink】(https://www.iteblog.com/archives/912.html)
喜欢 (2)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!
(1)个小伙伴在吐槽
  1. 话说,目前遇到hbase-1.0.0和flume-1.6整合,求指导如何自己编写hbasesink
    、。

    风吹草2016-03-16 00:21 回复