单实例HBase(Standalone HBase)安装使用简介

单实例HBase(Standalone HBase)

本文介绍如何在本地文件系统上运行一个单实例HBase,下面的安装和配置步骤主要是为了快速安装和体验HBase,而不是在产品环境下使用HBase。

1.下载

HBase下载站点列表中选择一个站点下载HBase。
命令示例如下:

wget http://mirror.bit.edu.cn/apache/hbase/stable/hbase-1.2.3-bin.tar.gz
wget http://www-us.apache.org/dist/hbase/stable/hbase-1.2.3-bin.tar.gz.md5
wget http://www-us.apache.org/dist/hbase/stable/hbase-1.2.3-bin.tar.gz.asc
wget http://www-us.apache.org/dist/hbase/KEYS

2.验证和解压

  • 验证
    命令执行类似如下:

    md5 hbase-1.2.3-bin.tar.gz | awk '{print $4}' > mycomputation.md5
    awk -F: '{gsub(" ", "");print tolower($2)}' hbase-1.2.3-bin.tar.gz.md5 > extraction.md5
    diff mycomputation.md5 extraction.md5
    gpg --import KEYS
    gpg --verify hbase-1.2.3-bin.tar.gz.asc hbase-1.2.3-bin.tar.gz
    
  • 解压
    验证解压下载的文件,并进入其根目录。
    命令执行类似如下:

    tar xzvf hbase-1.2.3-bin.tar.gz
    cd hbase-1.2.3/
    

3.设置JAVA_HOME环境变量

修改配置JAVA_HOME
注意:
是通过修改文件conf/hbase-env.sh中的JAVA_HOME属性变量。

4.编辑conf/hbase-site.xml

conf/hbase-site.xml是HBase的主配置文件,在单实例HBase运行环境下,主要是修改指定HBase和ZooKeeper的写数据目录。

单实例HBase的hbase-site.xml配置示例如下:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:////Users/simplelovecs/temp/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/Users/simplelovecs/temp/zookeeper</value>
  </property>
</configuration>

上面指定了HBase和Zookeeper的数据保存目录分别为本地文件系统上的file:////Users/simplelovecs/temp/hbase/Users/simplelovecs/temp/zookeeper

注意:
无需建立上面指定的HBase的数据目录,HBase会自动建立;如果此目录已经存在,则HBase则会尝试做migration。

5.启动HBase

运行bin/start-hbase.sh来启动HBase,如果一切正常,则控制台会正常打印消息。可以通过jps命令来验证已经启动了一个名为HMaster进程。

在运行bin/start-hbase.sh命令之前,确保/etc/hosts配置正确:

  • 保证127.0.0.1和localhost对应
  • 保证127.0.0.1和主机名对应

主机名可通过命令hostname得到。
/etc/hosts内容示例如下:

127.0.0.1 localhost

255.255.255.255 broadcasthost

::1 localhost

127.0.0.1 nothing.attdns.com

执行jps命令验证启动正常示例如下:

nothing:hbase-1.2.3 zhengfq$ jps
3053 HMaster
3134 Jps

6.停止HBase

  1. 执行命令bin/stop-hbase.sh来停止HBase进程。
  2. 要花不少时间来停止并退出HBase的所有进程,可以使用命令jps来查看进程是否已经退出。

HBase Shell使用简介

  1. 连接到HBase
    执行命令bin/hbase shell进入到HBase的shell环境。
    示例如下:

$ ./bin/hbase shell

2016-11-03 18:34:26,549 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.2.3, rbd63744624a26dc3350137b564fe746df7a721a4, Mon Aug 29 15:13:42 PDT 2016

hbase(main):001:0>

  1. 在HBase的Shell环境下输入help命令.
  2. 创建表
    使用create创建表。
    示例如下:

hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds

=> Hbase::Table - test

  1. 列出表信息
    使用list命令。
    示例如下:

hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds

=> ["test"]

  1. 往表中插入数据
    使用put命令往表中插入数据。
    依次插入三条数据。第一条,其中 'test'是表名, 'row1'是键名,'cf:a'中的cf是列族,a是列族下的属性名,'value1'是属性对应的值。
    示例如下:

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds

  1. 扫描表获取表中全部数据
    使用scan命令来获取表中所有数据。
    示例如下:

hbase(main):008:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1478170141795, value=value1
row2 column=cf:b, timestamp=1478170149993, value=value2
row3 column=cf:c, timestamp=1478170156635, value=value3
3 row(s) in 0.0430 seconds

  1. 使用get获取单条纪录
    示例如下:

hbase(main):009:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1478170141795, value=value1
1 row(s) in 0.0330 seconds

  1. 禁用表
    如果想要删除表、修改表的设置或者其他情形,那么首先要使用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

  1. 删除表
    使用drop命令来删除表。

hbase(main):011:0> drop 'test'
0 row(s) in 0.1370 seconds

  1. 退出HBase的Shell环境
    使用quit命令退出HBase的Shell环境。

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容