一.查看Zookeeper信息
[hadoop@weekend01 ~]$zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader
[hadoop@weekend02 ~]$zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[hadoop@weekend03 ~]$ zkServer.sh status
JMX enabled by default
Using config: /hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
二.命名空间的操作
1.创建myns1命名空间
hbase(main):002:0> create_namespace 'myns1'
0 row(s) in 0.5840 seconds
2.在myns1命名空间上创建表mytable,并查看该命名空间中的表信息
hbase(main):003:0> create 'myns1','mytable'
0 row(s) in 0.3140 seconds
=> Hbase::Table - myns1
3.删除myns1命名空间
hbase(main):004:0> drop_namespace 'myns1'
0 row(s) in 0.1320 seconds
三.查看meta系统表信息
创建nyist表,并观察meta系统表前后的信息变化
创建前
hbase(main):005:0> scan 'hbase:meta'
ROW COLUMN+CELL
hbase:namespace,,146 column=info:regioninfo, timestamp=1463478332970, value={EN
3478330523.c515e6022 CODED => c515e602219215debe5c20797ef49598, NAME => 'hbase:
19215debe5c20797ef49 namespace,,1463478330523.c515e602219215debe5c20797ef49598.
598. ', STARTKEY => '', ENDKEY => ''} 。。。。。。。内容太多以下省略
创建表nyist
hbase(main):006:0> create 'nyist','info'
0 row(s) in 0.3900 seconds
=> Hbase::Table – nyist
创建后
hbase(main):007:0> scan 'hbase:meta'
。。。。。
nyist,,1464873740887 column=info:regioninfo, timestamp=1464873741163, value={EN
.743fd741807411c415e CODED => 743fd741807411c415e8186523994416, NAME => 'nyist,
8186523994416. ,1464873740887.743fd741807411c415e8186523994416.', STARTKE
Y => '', ENDKEY => ''}
nyist,,1464873740887 column=info:seqnumDuringOpen, timestamp=1464873741181, val
.743fd741807411c415e ue=x00x00x00x00x00x00x00x02
8186523994416.
nyist,,1464873740887 column=info:server, timestamp=1464873741181, value=slave2:
.743fd741807411c415e 16020
8186523994416.
nyist,,1464873740887 column=info:serverstartcode, timestamp=1464873741181, valu
.743fd741807411c415e e=1464869626765
8186523994416. 。。。。。
这是创建后多出来的信息。
四.查看HBase HDFS上目录,并给出HBase有哪些目录
第一种方法是用命令查看
[root@master ~]# hadoop fs -ls hdfs://192.168.186.134:9000/hbase
16/06/02 21:26:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 8 items
drwxr-xr-x - root supergroup 0 2016-06-02 20:18 hdfs://192.168.134.131:9000/hbase/.tmp
drwxr-xr-x - root supergroup 0 2016-06-02 20:14 hdfs://192.168.134.131:9000/hbase/WALs
drwxr-xr-x - root supergroup 0 2016-06-02 21:19 hdfs://192.168.134.131:9000/hbase/archive
drwxr-xr-x - root supergroup 0 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/corrupt
drwxr-xr-x - root supergroup 0 2016-06-02 21:17 hdfs://192.168.134.131:9000/hbase/data
-rw-r--r-- 2 root supergroup 42 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/hbase.id
-rw-r--r-- 2 root supergroup 7 2016-05-30 20:29 hdfs://192.168.134.131:9000/hbase/hbase.version
drwxr-xr-x - root supergroup 0 2016-06-02 21:18 hdfs://192.168.134.131:9000/hbase/oldWALs
第二种使用了浏览器
五、flush、compact、split操作
创建学生表'student',列族为'info'
hbase(main):013:0> create 'student','info'
0 row(s) in 0.3920 seconds
=> Hbase::Table - student
插入数据'info:name','lisi1'
hbase(main):019:0> put 'student','rk0001','info:name','lisi1'
0 row(s) in 0.1780 seconds
使用flush写入磁盘
hbase(main):020:0> flush 'student'
0 row(s) in 0.4990 seconds
插入数据'info:name','lisi2'
hbase(main):021:0> put 'student','rk0002','info:name','lisi2'
0 row(s) in 0.0070 seconds
使用flush写入磁盘
hbase(main):022:0> flush 'student'
0 row(s) in 0.2870 seconds
使用compact合并磁盘文件
hbase(main):023:0> compact 'student'
0 row(s) in 0.1340 seconds
使用split分离region
hbase(main):024:0> split 'region'
0 row(s) in 0.0670 seconds
关闭表'student'的region
hbase(main):036:0>close_region 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.2370 seconds
查看表'student'数据
hbase(main):037:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1464874655412, value=lisi1
rk0002 column=info:name, timestamp=1464874756191, value=lisi2
2 row(s) in 0.3200 seconds
启动region
hbase(main):038:0>assign 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.1980 seconds
再查看表'student'数据
hbase(main):039:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1464874655412, value=lisi1
rk0002 column=info:name, timestamp=1464874756191, value=lisi2
2 row(s) in 0.3200 seconds
删除表'student',观察hbase目录中是否有表'student'的文件信息
hbase(main):002:0> disable 'student'
0 row(s) in 1.3360 seconds
hbase(main):003:0> drop 'student'
0 row(s) in 0.2170 seconds
hbase(main):004:0> list
TABLE
hbase_student
my_data
myns1
new_scores
nyist
scores
user
7 row(s) in 0.0150 seconds
=> ["hbase_student", "my_data", "myns1", "new_scores", "nyist", "scores", "user"]
本次实验全部是命令的练习,和对HBase体系结构的理解,只要勤加练习,这部分不是问题,加上之前的数据库的基础知识,接受这部分内容还是没有问题的,另外还有就是在练习过程中敲错命令是常事,感觉还是有点不习惯,对这种数据存储结构和运作流程还需要课下多阅读官方文档,自己找一些书籍,多练习下才能对这部分掌握熟练。
help
list_namespace --显示命名空间
scan 'hbase:namespace' --显示命名空间
create_namespace 'myns1' --创建命名空间
list_namespace
scan 'hbase:namespace'
list_namespace_tables 'myns1' --显示命名空间中的表
create 'myns1:mytable'
list_namespace_tables 'myns1'
drop_namespace 'myns1' --删除命名空间
list_namespace
scan 'hbase:namespace'
四、HBase HDFS上目录
1.查看HBase的方法
两种:
a.浏览器 IP或主机名:50070
b.hadoop 命令
cd /hadoop/hadoop-2.6.0/bin/
./hadoop fs -ls hdfs://192.168.1.2:9000/hbase
2.HBase HDFS上目录分析
a、.tmp目录:代表的hbase的临时目录,当我们在对表进行删除和创建的时候,hbase会将表先move到.tmp目录,然后,进行操作。
b、WALs目录:预写日志文件,在0.94.x版本时叫.logs目录,0.98.x中就改版了,是RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志
比如:向HBas
3.
hbase(main):002:0> list_namespace
NAMESPACE
default
hbase
2 row(s) in 0.5070 seconds
hbase(main):003:0> scan 'hbase:namespace'
ROW COLUMN+CELL
default column=info:d, timestamp=1462885868353, value=x0Ax07defa
ult
hbase column=info:d, timestamp=1462885868394, value=x0Ax05hbas
e
2 row(s) in 0.3690 seconds
hbase(main):004:0> create_namespace 'myns1'
0 row(s) in 0.3700 seconds
hbase(main):005:0> list_namespace
NAMESPACE
default
hbase
myns1
3 row(s) in 0.0510 seconds
hbase(main):006:0> list_namespace_tables 'myns1'
TABLE
0 row(s) in 0.0780 seconds
hbase(main):007:0> drop_namespace 'myns1'
0 row(s) in 0.3120 seconds
hbase(main):008:0> list_namespace
NAMESPACE
default
hbase
2 row(s) in 0.0320 seconds
hbase(main):009:0>
4.
hbase(main):010:0> create 'nuist','info'
0 row(s) in 2.7440 seconds
=> Hbase::Table - nuist
hbase(main):012:0> sacn 'nuist'
NoMethodError: undefined method `sacn' for #<Object:0x1d5ff9c>
hbase(main):013:0> disable 'nuist'
0 row(s) in 1.3630 seconds
hbase(main):014:0> drop 'nuist'
0 row(s) in 0.4870 seconds
hbase(main):001:0> create 'student','info'
0 row(s) in 4.6830 seconds
=> Hbase::Table - student
hbase(main):002:0> put 'student','rk0001','info:name','lisi'
0 row(s) in 0.2790 seconds
hbase(main):003:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1463729729329, value=lisi
1 row(s) in 0.0580 seconds
hbase(main):004:0> flush 'student'
0 row(s) in 0.8910 seconds
hbase(main):005:0> put 'student','rk0002','info:name','lisi2'
0 row(s) in 0.0460 seconds
hbase(main):006:0> flush 'student'
0 row(s) in 0.3100 seconds
hbase(main):007:0> put 'student','rk0003','info:name','lisi3'
0 row(s) in 0.0240 seconds
hbase(main):008:0> flush 'student'
0 row(s) in 0.3850 seconds
hbase(main):009:0> compact 'student'
0 row(s) in 0.1420 seconds
hbase(main):010:0> split 'student'
0 row(s) in 0.0570 seconds
hbase(main):011:0> split 'student','rook0002'
0 row(s) in 0.0930 seconds
hbase(main):012:0> split 'student','rk0002'
0 row(s) in 0.1230 seconds
hbase(main):001:0> close_region 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.2370 seconds
hbase(main):003:0> scan 'student'
ROW COLUMN+CELL
ERROR: org.apache.hadoop.hbase.NotServingRegionException: Region student,,1463730257094.ed1902898fb90cae03772240a505cf75. is not online on slave2,16020,1463728132224
hbase(main):007:0> assion 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
NoMethodError: undefined method `assion' for #<Object:0x161412>
hbase(main):008:0> assign 'student,,1463730257094.ed1902898fb90cae03772240a505cf75.'
0 row(s) in 0.1980 seconds
hbase(main):009:0> scan 'student'
ROW COLUMN+CELL
rk0001 column=info:name, timestamp=1463729729329, value=lisi
rk0002 column=info:name, timestamp=1463729915233, value=lisi2
rk0003 column=info:name, timestamp=1463729938724, value=lisi3
3 row(s) in 0.4290 seconds