单节点独立的HBase实例上运行——>伪分布式单机实例——>完全分布式的集群
1.下载压缩包
wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz2.解压(我是解压到~/hadoop目录下的,哪里都无所谓) 3.cd ~/hadoop/hbase-1.3.1/ ls -al可以看到,此目录下有如下内容,
drwxr-xr-x 14 mingleizhen staff 476 8 5 12:45 . drwxr-xr-x 4 mingleizhen staff 136 8 5 12:37 .. -rw-r–r–@ 1 mingleizhen staff 12292 8 5 14:10 .DS_Store -rw-r–r– 1 mingleizhen staff 148959 4 7 09:45 CHANGES.txt -rw-r–r– 1 mingleizhen staff 261 4 7 10:37 LEGAL -rw-r–r– 1 mingleizhen staff 130696 4 7 10:37 LICENSE.txt -rw-r–r– 1 mingleizhen staff 43258 4 7 10:37 NOTICE.txt -rw-r–r– 1 mingleizhen staff 1477 9 21 2016 README.txt drwxr-xr-x 31 mingleizhen staff 1054 4 5 11:02 bin drwxr-xr-x 9 mingleizhen staff 306 4 5 11:02 conf drwxr-xr-x 51 mingleizhen staff 1734 4 7 10:35 docs drwxr-xr-x 7 mingleizhen staff 238 4 7 10:26 hbase-webapps drwxr-xr-x 114 mingleizhen staff 3876 8 5 12:36 lib drwxr-xr-x 6 mingleizhen staff 204 8 5 12:49 logs
进入docs目录,浏览器打开book.html,发现是很详细的文档资料,不过是全英文的,有兴趣可以慢慢看。
4.vim conf/hbase-site.xml,修改配置文件如下:
<configuration> <property> <name>hbase.rootdir</name> <value>file:///Users/mingleizhen/hadoop/hbase-1.3.1</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/Users/mingleizhen/hadoop/hbase-1.3.1/zookeeper</value> </property> <property> <name>hbase.master.info.port</name> <value>60011</value> </property> </configuration>5.cd ../bin/ 执行启动脚本
./start-hbase.sh查看日志文件:
tail -f ../logs/hbase-mingleizhen-master-mingleizhendeMacBook-Pro.local.log有如下输出,说明启动成功。
2017-08-07 14:01:15,203 INFO [172.18.5.164:52497.activeMasterManager] master.HMaster: Master has completed initialization
6.jps 可看到 HMaster的进程
1597 Launcher 7197 HMaster 7789 Jps
浏览器访问 http://localhost:60011 会自动跳转到 http://localhost:60011/master-status
7.基础命令 当前仍旧在bin目录 执行./hbase shell 等待几秒。有如下输出:
2017-08-07 14:35:50,392 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr 6 19:36:54 PDT 2017 hbase(main):001:0>然后,可以开始输入命令做增删改查的操作了 ①创建表 使用create命令创建一个新表。必须指定表名和ColumnFamily名称。
hbase(main):001:0> create 'test_table','test_cf' 0 row(s) in 1.4930 seconds => Hbase::Table - test_table②使用list命令列出有关的表的信息
=> Hbase::Table - test_table hbase(main):002:0> list 'test_table' TABLE test_table 1 row(s) in 0.0280 seconds => ["test_table"]③put命令插入数据(或修改)
hbase(main):003:0> put 'test_table', 'row1', 'test_cf:a','value11' 0 row(s) in 10.1840 seconds hbase(main):004:0> put 'test_table', 'row1', 'test_cf:a','value12' 0 row(s) in 0.0030 seconds hbase(main):005:0> put 'test_table', 'row2', 'test_cf:b','value13' 0 row(s) in 0.0090 seconds④scan命令浏览数据(为什么是2条?因为以上有一条put是更新的数据)
hbase(main):006:0> scan 'test_table' ROW COLUMN+CELL row1 column=test_cf:a, timestamp=1502088093966, value=value12 row2 column=test_cf:b, timestamp=1502088119751, value=value13 2 row(s) in 0.0190 seconds⑤disable一张表
hbase(main):010:0> disable 'test_table' 0 row(s) in 2.2640 seconds然后,去scan这张表,会发现不行了。 ⑥enable一张表
hbase(main):011:0> enable 'test_table' 0 row(s) in 1.2470 seconds然后,又可以scan这张表了。
⑦drop命令删除表
hbase(main):012:0> drop 'test_table' ERROR: Table test_table is enabled. Disable it first. Here is some help for this command: Drop the named table. Table must first be disabled: hbase> drop 't1' hbase> drop 'ns1:t1'发现,需要先disbale才可以删除
hbase(main):014:0> disable 'test_table';drop 'test_table' 0 row(s) in 2.2700 seconds 0 row(s) in 1.2680 seconds然后scan表test_table
hbase(main):015:0> scan 'test_table' ROW COLUMN+CELL ERROR: Unknown table test_table!⑧退出HBase Shell。
要退出HBase Shell并断开与群集的连接,请使用quit命令。HBase仍然在后台运行。
hbase(main):016:0> quit8.停止hbase服务 进入bin目录 执行 ./stop-hbase.sh
mingleizhendeMacBook-Pro:bin mingleizhen$ ./stop-hbase.sh stopping hbase............................使用jps命令确保已经停止服务
mingleizhendeMacBook-Pro:bin mingleizhen$ jps 9014 Jps 1597 Launcher 1247