如果你想删除一个表或者改变表的设置,以及一些其他的场景,首先你需要使用 disable 命令禁用表。你可以使用 enable 命令“反禁用”即启用表。
hbase(main):008:0> disable 'test' 0 row(s) in 1.1820 seconds hbase(main):009:0> enable 'test' 0 row(s) in 0.1770 seconds
9)、删除表。
使用 drop 命令删除一个表。
hbase(main):011:0> drop 'test' 0 row(s) in 0.1370 seconds
10)、退出。
使用 quit 命令退出命令行并从集群断开连接。HBase 仍然在后台运行。
步骤:停止HBase。
1)、bin/start-hbase.sh 这个脚本提供了便利的启动所有 HBase 服务,同样地,bin/stop-hbase.sh 脚本用来停止所有HBase服务。
$ ./bin/stop-hbase.sh stopping hbase....................
2)、在使用这个命令后,它可能需要过几分钟才能停掉服务进程。使用 jps 命令来确认 HMaster 和 HRegionServer 进程是否关闭。
2.3 中级 ----- 本地伪分布式安装
在你学习过前面内容后,你要重新配置 HBase 来运行伪分布式模式。伪分布式模式的意思是 HBase 仍然在一台机器上完整的运行,不过,每个HBase 服务(HMaster,HRegionServer,Zookeeper)是在单独的一个进程中运行。默认的,如果你像上面描述的一样没有配置 hbase.rootdir ,你的数据仍然存储在 /tmp 目录下。在本文的稍后部分中,假设你有可用的HDFS,我们存储数据在HDFS。你可以略过HDFS配置继续存储你的数据在本地文件系统。
(1)、如果正在运行,请先停掉HBase。
如果你完成了单例模式的HBase并且正在运行,请停掉它。这个步骤将完全的创建一个存储HBase数据的新目录,所以之前你创建的数据库将丢失。
(2)、配置HBase。
编辑 hbase-site.xml 进行配置。首先,添加 property,使 HBase 以分布式模式运行,并且一个 JVM 实例化一个守护进程。
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
接下来,把 hbase.rootdir 的配置从本地文件系统改为你的HDFS实例的地址,并使用 hdfs:// 开头的 URL 语法。下面这个例子中,HDFS是运行在本地端口 8020。
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:8020/hbase</value> </property>
你不需要在HDFS中创建 /hbase 目录,HBase会自动创建。不过,如果你创建了 /hbase 目录,HBase会尝试移动,而这不是你想要的。
(3)、启动HBase。
使用 bin/start-hbase.sh 命令启动HBase。如果你配置得当,使用 jps 命令可以查看到 HMaster 和 HRegionServer 进程正在运行。
(4)、检查 HDFS 中 HBase 目录。
如果一切正常,HBase 会在 HDFS 创建目录。在配置文件中,是存储在HDFS的 /hbase 目录。你可以使用 hadoop fs 命令查看这个目录。
$ hadoop fs -ls /hbase Found 7 items drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data -rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id -rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs
(5)、创建一个表,并插入数据。
你可以使用 HBase Shell 创建一个表,插入数据,并 scan 和 get 数据,使用方法和上面一样。
(6)、启动和停止一个 HMaster 备份服务器。
对于生产环境而言在同一个机器上运行多个 HMaster 实例是没有意义的,同样的,在生产环境上运行伪分布式模式也是没有意义的。