HBase的安装配置

  • 实验目的

掌握HBase安装、HBase Shell命令和HBase Java API编程。

  • 实验内容
  1. 掌握HBase安装配置方法
  2. 掌握HBase Shel命令使用方法;
  3. 掌握HBase Java API的基本用法。

    

  • 实验步骤

  在集群节点中输入HBase Shell命令行完成数据表管理和数据增删查改等操作,具体完成以下操作:

1. 创建一个Student表,包含Base和Score两个列族;Base列族包含Number、Name、Sex、Prof列;Score列族包含English、Math、Market、Java、Python、BigData列

2.往表中新增数据,每行rowkey设置为学生学号

Number Name Sex Prof English Math Market Java Python BigData

    001 Tim m bigdata 50 72 85 75 80

002 Lucy f bigdata 78 68 58 80 76

003 Vivian f biz 82 70 70

004 Golden m biz 80 57 68

3.获取列键001的数学成绩;

4.删除一行数据。

5.获取学号范围从001~003的学生的基本信息(列族为Base)

6.搜索所有bigdata专业的学生

7.使用scan命令的filter搜索所有不及格的成绩记录

*命令用法参考课程PPT或网上资源

下载并通过Xshell传输文件:

传输zookeeper:

传输hbase:

修改系统变量:

修改regionesrvers:

此时Xshell出了点问题连接不上了,于是转到虚拟机解压:

在这里启动失败了:

这里stop-hbase.sh后依然有进程未关闭:

通过hbase-daemon.sh stop regionserver RegionServer命令关闭

也可通过sudo kill -9 进程号一个一个关闭,但是没必要

这里通过sudo kill -9 进程号关闭

 

在这里重新配置了一下pids:

此处运行成功:

启动hbase shell:

创建一个Student表,包含Base和Score两个列族;Base列族包含Number、Name、Sex、Prof列;Score列族包含English、Math、Market、Java、Python、BigData列

create 'Student', {NAME => 'Base'}, {NAME => 'Score'}

往表中新增数据,每行rowkey设置为学生学号

put 'Student', '001', 'Base:Number', '001'

put 'Student', '001', 'Base:Name', 'Tim'

put 'Student', '001', 'Base:Sex', 'm'

put 'Student', '001', 'Base:Prof', 'bigdata'

put 'Student', '001', 'Score:English', '50'

put 'Student', '001', 'Score:Math', '72'

put 'Student', '001', 'Score:Market', ''

put 'Student', '001', 'Score:Java', '85'

put 'Student', '001', 'Score:Python', '75'

put 'Student', '001', 'Score:BigData', '80'

put 'Student', '002', 'Base:Number', '002'

put 'Student', '002', 'Base:Name', 'Lucy'

put 'Student', '002', 'Base:Sex', 'f'

put 'Student', '002', 'Base:Prof', 'bigdata'

put 'Student', '002', 'Score:English', '78'

put 'Student', '002', 'Score:Math', '68'

put 'Student', '002', 'Score:Market', ''

put 'Student', '002', 'Score:Java', '58'

put 'Student', '002', 'Score:Python', '80'

put 'Student', '002', 'Score:BigData', '76'

put 'Student', '003', 'Base:Number', '003'

put 'Student', '003', 'Base:Name', 'Vivian'

put 'Student', '003', 'Base:Sex', 'f'

put 'Student', '003', 'Base:Prof', 'biz'

put 'Student', '003', 'Score:English', '82'

put 'Student', '003', 'Score:Math', '70'

put 'Student', '003', 'Score:Market', '70'

put 'Student', '004', 'Base:Number', '004'

put 'Student', '004', 'Base:Name', 'Golden'

put 'Student', '004', 'Base:Sex', 'm'

put 'Student', '004', 'Base:Prof', 'biz'

put 'Student', '004', 'Score:English', '80'

put 'Student', '004', 'Score:Math', '57'

put 'Student', '004', 'Score:Market', '68'

获取列键001的数学成绩

get 'Student', '001', {COLUMN => 'Score:Math'}

删除一行数据

deleteall 'Student', '004'

删除成功:

获取学号范围从001~003的学生的基本信息(列族为Base)

 scan 'Student', {STARTROW => '001', ENDROW => '004', COLUMNS => ['Base:Number', 'Base:Name', 'Base:Sex', 'Base:Prof']}

搜索所有bigdata专业的学生

scan 'Student', {FILTER => "SingleColumnValueFilter('Base', 'Prof', =, 'binary:bigdata')"}

使用scan命令的filter搜索所有不及格的成绩记录,

scan 'Student', {FILTER => "ValueFilter(<=, 'binary:60') AND ValueFilter(!=, 'binary:')", COLUMNS => 'Score'}

关闭hbase:

实验体会

本次实验出现无法自动关闭HRegionServer的问题,以及Hmaster时有时没有的问题。这2个问题中第一个我可以用手动关闭来停止HRegionServer,Hmaster时有时没有的问题我通过学习群“报春花”大佬的解答解决了Hmaster的问题。

本次实验难点在于配置zookeeper与hbase,其操作并不难。但是在hbase shell中输入命令时依然错误了不少次。如下图:

还有一个问题:

结束所有进程之后多了2个Main,哎,就这样吧。

通过本次实验我更加熟悉hbase的操作与应用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值