CentOS6.6中用Eclipse整合Hadoop MapReduce与HBase的集成案例

目录

1. bulkloading 批量导入工具

2. Java完成HBase与MapReduce的集成演示


操作环境说明:

        CentOS6.6     eclipse开发       jdk1.8         hbase-1.2.0        hadoop-2.6.5

        提醒自己【本篇文章在后续学习中需要更新,补充一些说明,初学者可能对一些命令的意义不太明白,我这里重点在于一边体会大数据初识,重点在于感受非关系型数据库HBase的运用。】

1. bulkloading 批量导入工具

1.1 环境准备

    启动hadoop运算框架和hbase数据库

[hduser@node1 ~]$ ./hadoop/sbin/start-dfs.sh 
[hduser@node1 ~]$ ./hadoop/sbin/start-yarn.sh 
[hduser@node1 ~]$ ./hbase/bin/start-hbase.sh 

   1)新建文本数据 music1.txt , music2.txt

                                                                               音乐播放记录样表

编号rowkey 歌名(song) 歌手(singer) 歌手性别(gender) 节奏(ryghme) 客户端(terminal)
1_song1_2016 song1 singer1 man slow ios
3_song3_2016 song3 singer3 woman quick pc

   【提示:各列之间用制表符隔开"\"或者用Tab键隔开

      用记事本gedit命令或者vi创建以上两个txt文本文件:

   [hduser@node1 ~]$ gedit ~/桌面/music1.txt

内容如下:

1_song1_2016	song1	singer1	man	slow	ios
2_song2_2016	song2	singer2	man	slow	pc
3_song3_2016	song3	singer3	woman	quick	pc
4_song4_2016	song4	singer4	woman	quick	ios
5_song5_2016	song5	singer5	man	slow	android
6_song6_2016	song6	singer6	man	slow	pc
7_song7_2016	song7	singer7	woman	quick	ios
8_song8_2016	song8	singer8	man	slow	pc
9_song9_2016	song9	singer9	woman	quick	pc
   [hduser@node1 ~]$ gedit ~/桌面/music2.txt
10_song10_2016	song10	singer10	man	slow	ios
11_song11_2016	song11	singer11	man	slow	pc
12_song12_2016	song12	singer12	man	slow	pc
13_song13_2016	song13	singer13	woman	quick	pc
14_song14_2016	song14	singer14	woman	quick	ios
15_song15_2016	song15	singer15	man	slow	android
16_song16_2016	song16	singer16	man	slow	pc
17_song17_2016	song17	singer17	woman	quick	ios
18_song18_2016	song18	singer18	man	slow	pc
19_song19_2016	song19	singer19	woman	quick	pc

   2)新建表musicrecored表(播放记录表)
      列簇只有一个info

      先进入hbase shell 数据操作

[hduser@node1 ~]$ ./hbase/bin/hbase shell
hbase(main):007:0> create 'musicrecored','info'
0 row(s) in 1.4380 seconds

=> Hbase::Table - musicrecored

   3)新建表namelist表(歌曲播放统计表)
      列簇只有一个datails

hbase(main):008:0> create 'namelist','details'
0 row(s) in 1.2530 seconds

=> Hbase::Table - namelist

   4)查看表

hbase(main):009:0> list
TABLE                                                                           
music1                                                                          
musicrecored                                                                    
namelist                                                                        
3 row(s) in 0.0110 seconds

=> ["music1", "musicrecored", "namelist"]

1.2 关掉运算框架和数据库命令 将hbase集成到hadoop中(集群每一个节点都要配置,node1,node2,node3)
   1)将hbase核心配置文件  hbase-site.xml 添加到hadoop主目录下/etc/hadoop/下

[hduser@node1 ~]$ cp hbase/conf/hbase-site.xml hadoop/etc/hadoop/
[hduser@node2 ~]$ cp hbase/conf/hbase-site.xml hadoop/etc/hadoop/
[hduser@node3 ~]$ cp hbase/conf/hbase-site.xml hadoop/etc/hadoop/

   2)将hbase的库(hbase主目录下lib目录)配置到hadoop的环境(hadoop-env.sh)中(集群每一个节点都要配置,node1,node2,node3)。

     node1:

   [hduser@node1 ~]$ gedit hadoop/etc/hadoop/hadoop-env.sh 

    node2:

[hduser@node2 ~]$ vi hadoop/etc/hadoop/hadoop-env.sh 

    node3:

[hduser@node3 ~]$ vi hadoop/etc/hadoop/hadoop-env.sh 

    在配置文件中增加如下内容:

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/home/hduser/hbase/lib/*

   3)配置完后再重新启动运算框架和数据库,利用新建的musicrecored表测试集成是否成功

        两个启动命令:

[hduser@node1 ~]$ ./hadoop/sbin/start-all.sh 
[hduser@node1 ~]$ ./hbase/bin/start-hbase.sh 

       在hbase主目录/lib/中有hbase-server***.jar 内有hbase提供的工具类rowcounter主要用于测试。
       利用mapreduce统计hbase表中记录总数,命令如下:

      语法:【$>hadoop jar  hbase主目录/lib/hbase-server***.jar  rowcounter 表名】

      示例:用我上面查出来的以前的表“music1”做测试,这里面有4条数据:

[hduser@node1 ~]$ hadoop jar hbase/li
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值