APP下载

Windows上Hbase的安装配置

消息来源:baojiabao.com 作者: 发布时间:2026-05-21

报价宝综合消息Windows上Hbase的安装配置

HBase是Google Bigtable的开源实现,通过在Windows下部署HBase,可以解决在单机开发中用到HBase问题,专案正式上线时,可以使用Linux分散式部署的HBase。本文hbase的资料储存在磁盘上。

1、 搭建环境

下载HBase

从官网上下载hbase-2.1.5-bin.tar安装包。

下载地址:https://hbase.apache.org/downloads.html,

下载hbase-2.1.5-bin.tar,解压缩到D:hadoophbase-2.1.5。

可能需要两个jar包:htrace-core4-4.1.0-incubating.jar和jansi-1.8.jar否则启动会报如下两个错误。

如有需要可私信关键词:20190616,获取下载地址。

2、 配置 Hbase

1. 配置hbase-env.cmd

首先进入目录D:hadoophbase-2.1.5conf找到hbase-env.cmd

用记事本开启,在档案的末尾新增下面配置(HBASE_MANAGES_ZK为true时使用预设自带的):

set HBASE_MANAGES_ZK=true

Hbase提供了HBASE_MANAGES_ZK变数来设定是否管理zookeeper丛集,预设情况,HBASE_MANAGES_ZK设定为true

如果没用配置java。可在这个档案末尾在增加一行,指定java路径:

set JAVA_HOME= D:Javajdk1.8.0_181

以管理员方式启动 CMD 命令提示符

进入 D:hadoophbase-2.1.5conf 目录,执行 hbase-env.cmd

2. 配置core-site.xml

用记事本开启,在档案的末尾间新增下面配置:

hbase.master

localhost:60000

hbase.rootdir

file:///D:/hadoop/hbase-2.1.5/data/root

hbase.tmp.dir

D:/hadoop/hbase-2.1.5/data/tmp

hbase.zookeeper.quorum

localhost

hbase.zookeeper.property.dataDir

D:/hadoop/hbase-2.1.5/data/zoo

hbase.cluster.distributed

false

hbase.rootdir:来设定档案的储存位置指定一个资料夹,,被所有regionserver共享,例如:file:///you/hbase-data/path,你建立的HBase中的表和资料就直接写到了你的磁盘上,同样你也可以指定你的分散式档案系统HDFS的路径例:如:hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR,这样就写到了你的分散式档案系统上了。不改这个配置,资料会在重启的时候丢失。

hbase.tmp.dir:本地档案系统的临时资料夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除)预设:/tmp/hbase-${user.name}

hbase.zookeeper.quorum:重要的也是必须设定的,启动zk的服务器列表,逗号分隔,cluster模式下必须设定,预设是localhost,hbase客户端也需要设定这个值去访问zk;

hbase.zookeeper.property.dataDir:zk的配置,快照的储存位置

预设:${hbase.tmp.dir}/zookeeper;

hbase.cluster.distributed:hbase丛集模式运作与否的标志,预设是false,开启需要设定为true,false时启动hbase会在一个jvm中执行hbase和zk;

3、 启动 Hbase

以管理员方式启动 CMD 命令提示符 进入 D:hadoophbase-2.1.5in 目录

start-hbase.cmd,启动成功会开启 hbase 的视窗

4、 访问web

http://127.0.0.1:16010/master-status

5、 Hbase Shell基本操作

1. 进入shell

以管理员方式启动 CMD 命令提示符 进入 D:hadoophbase-2.1.5in 目录,执行命令Hbase shell

启动成功会开启 hbase 的视窗

2. 使用 shell

输入 help 可以看到一列 shell 命令。这里的帮助很详细,要注意的是表名,行和列需要加引号。

3. 建立表

建立一个名为 test 的表,这个表只有一个 列族 为 cf。可以列出所有的表来检查建立情况, 然后插入些值。

create \'test_account\',\'id\',\'realname\',\'username\',\'age\'

可以使用list命令来检视当前HBase里有哪些表。使用describe命令来查看表结构。

4. 按设计的表结构插入值

列族里边可以自由新增子列很方便。如果列族下没有子列,加不加冒号都是可以的。

put \'test_account\',\'1\',\'id:\',\'1\'

put \'test_account\',\'1\',\'realname:\',\'李晓燕\'

put \'test_account\',\'1\',\'username:\',\'lxy\'

put \'test_account\',\'1\',\'age:\',\'18\'

put \'test_account\',\'2\',\'id:\',\'2\'

put \'test_account\',\'2\',\'realname:\',\'张国鹏\'

put \'test_account\',\'2\',\'username:\',\'zgp\'

put \'test_account\',\'2\',\'age:\',\'23\'

put命令比较简单,只有这一种用法:

put\'t1\',\'r1\',\'c1\',\'value\', ts1

t1指表名,r1指行键名,c1指列名,value指单元格值。ts1指时间戳,一般都省略掉了。

5. 根据键值查询资料

get \'test_account\',\'1\'

get \'test_account\',\'2\',\'realname\'

get有用法如下:

get\'t1′,\'r1′

get\'t1′,\'r1′, {TIMERANGE => [ts1, ts2]}

get\'t1′,\'r1′, {COLUMN =>\'c1′}

get\'t1′,\'r1′, {COLUMN => [\'c1\',\'c2\',\'c3\']}

get\'t1′,\'r1′, {COLUMN =>\'c1′, TIMESTAMP => ts1}

get\'t1′,\'r1′, {COLUMN =>\'c1′, TIMERANGE => [ts1, ts2], VERSIONS => 4}

get\'t1′,\'r1′, {COLUMN =>\'c1′, TIMESTAMP => ts1, VERSIONS => 4}

get\'t1′,\'r1′,\'c1′

get\'t1′,\'r1′,\'c1′,\'c2′

get\'t1′,\'r1′, [\'c1\',\'c2\']

6. 扫描所有资料

scan \'test_account\'

也可以指定一些修饰词:TIMERANGE, FILTER, LIMIT,STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,or COLUMNS。没任何修饰词,就会显示所有资料行。

7. 删除指定资料

get \'test_account\',\'2\',\'realname\'

delete \'test_account\',\'2\',\'realname\'

get \'test_account\',\'2\',\'realname\'

get \'test_account\',\'1\',\'age\'

delete \'test_account\',\'1\',\'age\'

get \'test_account\',\'1\',\'age\'

deleteall命令,可以进行整行的范围的删除操作,慎用!

deleteall \'test_account\',\'1\'

truncate命令,可以进行全表删除操作。

truncate \'test_account\'

8. 删除表

Hbase删除表,必须先 disable 再 drop 这张表

list

disable \'test_account\'

drop \'test_account\'

list

9. 关闭 shell

2019-12-24 20:52:00

相关文章