首先使用jps查看虚拟机开启的进程,我这里发现并没有启动Hadoop集群以及zookeeper集群。
由于hbase是基于Hadoop集群和zookeeper集群的,所以在使用hbase之前必须先打开Hadoop集群和zookeeper集群。
cd /opt/hadoop-3.1.4/sbin
./start-all.sh
可以使用上面的all命令一键开启Hadoop集群,只用在master节点上操作就可以了:
下面进行zookeeper集群的启动,这个命令需要在三台虚拟机上实行,因为启动zookeeper需要大于一半的 虚拟机启动才能正确打开:
zkServer.sh start
然后在任意一台虚拟机上查看zookeeper是否成功启动:
然后在主机master上启动hbase:
cd /usr/local/hbase/bin
./start-hbase.sh
然后使用jps查看虚拟机现在所启动的进程:
接下来回到master启动hbase:
./hbase shell
也可以打开master:16010界面查看是否启动成功:
然后使用命令查看命名空间,并查看命名空间中系统自带的系统命名空间的内容,并且注意hbase是系统自带的表,一般情况下不允许修改,否则后续操作会有问题:
list_namespace
list_namespace_tables 'hbase'
创建一个新的命名空间test,并查看是否创建成功,输出test的内容:
create_namespace 'test'
list_namespace
describe_namespace 'test'
在50070的空间可以看见刚才创建的test空间,但是在hbase(16010)的空间是看不见的:
接下来进行test空间的删除:
drop_namespace 'test'
list_namespace
由于之后要用到test空间,所以我需要将test命名空间重新建立一次,然后接下来就是建立student表,该表有两个列族info和course,并查看表的描述性信息:
create 'test:student',{NAME=>'info'},{NAME=>'course',VERSIONS=>'5'}
describe 'test:student'
也可以在50070页面查看到所建立的表和列族:
在16010界面中,也可以看到创建的表:
点击上图的student可以跳转到下面的界面,用于查看建立的表所存在的位置: