Flume-0.9.4和Hbase-0.96整合(1)

Flume-0.9.4Hbase-0.96整合(1)

这几天由于项目的需要,需要将Flume收集到的日志插入到Hbase中,有人说,这不很简单么?Flume里面自带了Hbase sink,可以直接调用啊,还用说么?是的,我在本博客的Flume-1.4.0Hbase-0.96.0整合》文章中就提到如何用Flume和Hbase整合,从文章中就看出整个过程不太复杂,直接做相应的配置就行了。那么为什么今天还要特意提一下Flume-0.9.4和Hbase-0.96整合?这是因为Flume-0.9.4和Hbase-0.96整合比Flume-1.4.0和Hbase-0.96整合麻烦多了!不是随便几个配置就能搞定的,里面涉及到修改Flume和Hadoop的源码!
  先看下我公司的Hadoop、Hbase、Flume等的配置吧。2013年10月末,公司的Hadoop升级到2.2.0,Hbase升级到0.96,Zookeeper升级到3.4.5,但是Flume版本由于各种原因没有升级,还是用Flume-0.9.4,而Flume-0.9.4源码是基于Hadoop-0.20.2-CDH3B4、Hbase-0.90.1-cdh3u0开发的,Hadoop-0.20.2-CDH3B4和现在的Hadoop-2.2.0完全不一样的设计,而且直接用Hadoop-0.20.2-CDH3B4会使得Flume-0.9.4不能和Hbase-0.96.0通信,都不能通信了,何谈整合!但是经过几天的奋战,我们终于通过修改Flume和Hadoop的部分源码达到了Flume-0.9.4和Hbase-0.96整合,今天就分享一下我们是怎么修改的。

  1、修改Flume-src根目录下的pom.xml文件中的部分依赖版本
  (1)、Hadoop2x里面已经没有hadoop-core jar包,所以修改Hadoop的依赖包的版本:云凡教育大数据学院www.cloudyhadoop.com

01

<dependency>

 

02

<groupId>org.apache.hadoop</groupId>

 

03

<artifactId>hadoop-core</artifactId>

 

04

<version>${cdh.hadoop.version}</version>

 

05

</dependency>

 

06

 

 

07

修改为

 

08

 

 

09

<dependency>

 

10

<groupId>org.apache.hadoop</groupId>

 

11

<artifactId>hadoop-mapreduce-client-core</artifactId>

 

12

<version>2.2.0</version>

 

13

</dependency>

 

14

<dependency>

 

15

<groupId>org.apache.hadoop</groupId>

 

16

<artifactId>hadoop-common</artifactId>

 

17

<version>2.2.0</version>

 

18

</dependency>

 

19

<dependency>

 

20

<groupId>org.apache.hadoop</groupId>

 

21

<artifactId>hadoop-mapreduce-client-common</artifactId>

 

22

<version>2.2.0</version>

 

23

</dependency>

 

24

<dependency>

 

25

<groupId>org.apache.hadoop</groupId>

 

26

<artifactId>hadoop-mapreduce-client-jobclient</artifactId>

 

27

<version>2.2.0</version>

 

28

</dependency>

  (2)、修改Guava的版本,云凡教育大数据学院www.cloudyhadoop.com

 

01

<dependency>

 

02

<groupId>com.google.guava</groupId>

 

03

<artifactId>guava</artifactId>

 

04

<version>r07</version>

 

05

</dependency>

 

06

 

 

07

修改为

 

08

 

 

09

<dependency>

 

10

<groupId>com.google.guava</groupId>

 

11

<artifactId>guava</artifactId>

 

12

<version>10.0.1</version>

 

13

</dependency>

(3)、修改flume-src\flume-core\pom.xml里面的以下配置
云凡教育大数据学院www.cloudyhadoop.com

 

01

<dependency>

 

02

<groupId>org.apache.hadoop</groupId>

 

03

<artifactId>hadoop-core</artifactId>

 

04

</dependency>

 

05

 

 

06

修改为

 

07

 

 

08

<dependency>

 

09

<groupId>org.apache.hadoop</groupId>

 

10

<artifactId>hadoop-mapreduce-client-core</artifactId>

 

11

<version>2.2.0</version>

 

12

</dependency>

 

13

<dependency>

 

14

<groupId>org.apache.hadoop</groupId>

 

15

<artifactId>hadoop-common</artifactId>

 

16

<version>2.2.0</version>

 

17

</dependency>

 

18

<dependency>

 

19

<groupId>org.apache.hadoop</groupId>

 

20

<artifactId>hadoop-mapreduce-client-common</artifactId>

 

21

<version>2.2.0</version>

 

22

</dependency>

 

23

<dependency>

 

24

<groupId>org.apache.hadoop</groupId>

 

25

<artifactId>hadoop-mapreduce-client-jobclient</artifactId>

 

26

<version>2.2.0</version>

 

27

</dependency>

  (4)、修改flume-src\plugins\flume-plugin-hbasesink\pom.xml里面的以下配置,云凡教育大数据学院www.cloudyhadoop.com

01

<dependency>

 

02

<groupId>org.apache.hbase</groupId>

 

03

<artifactId>hbase</artifactId>

 

04

<version>${cdh.hbase.version}</version>

 

05

</dependency>

 

06

 

 

07

<dependency>

 

08

<groupId>org.apache.hbase</groupId>

 

09

<artifactId>hbase</artifactId>

 

10

<version>${cdh.hbase.version}</version>

 

11

<classifier>tests</classifier>

 

12

<scope>test</scope>

 

13

</dependency>

 

14

 

 

15

<dependency>

 

16

<groupId>org.apache.hadoop</groupId>

 

17

<artifactId>hadoop-test</artifactId>

 

18

<version>${cdh.hadoop.version}</version>

 

19

<scope>test</scope>

 

20

</dependency>

 

21

 

 

22

修改为

 

23

 

 

24

<dependency>

 

25

<groupId>org.apache.hbase</groupId>

 

26

<artifactId>hbase-it</artifactId>

 

27

<version>0.96.0-hadoop2</version>

 

28

</dependency>

  考虑到篇幅的问题,已经将本文拆分为二,为你带来的不便深感抱歉!下面是两篇文章的链接:
  《Flume-0.9.4和Hbase-0.96整合(1)》、《Flume-0.9.4和Hbase-0.96整合(2)

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值