赞
踩
掌握HBase安装、HBase Shell命令和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的操作与应用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。