一、创建单节点HBase实例

https://hbase.apache.org/book.html#quickstart

(一)jdk版本要求Java:

HBase Version

JDK 7

JDK 8

2.0

Not Supported

yes

1.3

yes

yes

1.2

yes

yes

1.1

yes

Running with JDK 8 will work but is not well tested.

(二)具体步骤:

安装和配置:

1.从Apache Download Mirrors下载.tar.gz结尾的文件到本地。

2.提取文件到新创建的文件目录下.

$ tar xzvf hbase-3.0.0-SNAPSHOT-bin.tar.gz
$ cd hbase-3.0.0-SNAPSHOT/

 3.设置JAVA_HOME环境变量

修改conf/hbase-env.sh文件,设置JAVA_HOME=java bin目录所在路径

 4.修改conf/hbase-site.xml文件

HBase and ZooKeeper写数据的文件路径hbase.rootdir默认为/temp,但是很多服务器被设置成清除该文件下的内容,因此需要重新设置。

另外还需要设置HBase存数据的目录(文件路径设置好后,hbase会负责创建该目录)。

配置示例:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
</configuration>

5. bin/start-hbase.sh脚本提供了一个方便的启动HBase的途径,执行该脚本,不出意外将看到标准输出里显示HBase成功启动的信息。你可以运行jps命令来确定你有一个跑的进程叫HMaster。打开 http://localhost:16010  可以访问HBase Web UI。

使用:

1.连接到HBase:

$ ./bin/hbase shell
hbase(main):001:0>

2.使用help查看帮助

3.创建一张表,注意必须指定表名和列族名

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

4.使用list 命令显示表数据

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

5.使用put命令往表里放数据

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

6.使用scan命令来扫描表数据,你可以设置扫描范围。这里我们全部扫描

hbase(main):006:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1421762485768, value=value1
row2 column=cf:b, timestamp=1421762491785, value=value2
row3 column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds

7.使用get命令获取单行数据

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

8.在你想删除一张表或者改变一张表的配置的时候,你需要先使用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 Shell

11.关闭HBase

$ ./bin/stop-hbase.sh
stopping hbase....................
$

二、创建伪分布式HBase实例

https://hbase.apache.org/book.html#quickstart_pseudo

前提:本文假设在你本机或者远程机器上配置了Hadoop和HDFS并且他们是正在运行的可以访问的,并假设你使用的是Hadoop 2。

1.HBase如果还在运行先关闭

$ ./bin/stop-hbase.sh

2.在hbase-site.xml里添加

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

并将文件改为hdfs文件

<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>
</property>

3.开启HBase

$ ./bin/start-hbase.sh

4.检查HDFS上的HBase目录

$ ./bin/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.建表并填充数据

6.开启和关闭HBase Master (HMaster) 备份节点

使用local-master-backup.sh命令来开启备份节点,对于开启的每个节点,需要设置一个相对于HMaster三个默认端口(16010, 16020, and 16030)的偏移量。

$ ./bin/local-master-backup.sh 2 3 5

比如这条命令,将开启3个分别使用16012/16022/16032, 16013/16023/16033, 和16015/16025/16035的备份节点。

如果你需要关闭一个备份节点,而不关闭整个集群,你需要在/tmp/hbase-USER-X-master.pid中找到对应节点的进程号,然后使用kill -9命令关闭它。

$ cat /tmp/hbase-testuser-1-master.pid |xargs kill -9

这条命令将关闭端口偏移量为1的备份节点。

7.开启和关闭多余的RegionServers

在一台服务器上最多可以运行除了 HMaster or backup HMaster外,99个RegionServers。

开启RegionServers和开启备份节点一样需要指定偏移量,只不过是相对于两个端口号,对于1.0.0

之前的版本这两个端口号默认为16020/16030,其他的默认为16200/16300 。

$ .bin/local-regionservers.sh start 2 3 4 5

关闭RegionServers

$ .bin/local-regionservers.sh stop 3

8.关闭HBase

使用bin/stop-hbase.sh命令

最新文章

  1. Linux Core Dump
  2. [转]MYSQL高可用方案探究(总结)
  3. Centos7 密码重置
  4. coreseek实战(四):php接口的使用,完善php脚本代码
  5. 比较IE6的不同之处,与IE8 IE11 比较
  6. window对象细节(转载)
  7. Application路径
  8. html mysql special character
  9. Spring MVC 的json问题(406 Not Acceptable)
  10. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
  11. 6.如何使用jedis的线程池
  12. java编程基础复习-------第二章
  13. Simple prefix compression
  14. 网卡配置和DNS配置,手动挂在nas存储的共享目录,网络相关其它操作命令,修改防火墙中的端口配置,resolv.conf配置详细介绍和网卡信息配置详细介绍
  15. Java基础——Ajax(二)
  16. 【CSS学习】--- 文本样式
  17. 【POJ1961】period
  18. Variance overview: Invariant, Covariant, Contravariant, 协变,逆变
  19. 解决oninput在输入中文时,会获取拼音的问题
  20. 20165320 预备作业3 :Linux安装及命令入门

热门文章

  1. 从零开始编写深度学习库(五)PoolingLayer 网络层CPU编写
  2. java程序编写需注意的问题
  3. vue-route(三)后台管理路由配置
  4. vue项目更改端口号
  5. 【示例代码】 Tuple&lt;T&gt; Func&lt;T&gt;
  6. Android:BroadcastReceiver
  7. Java并发--Timer和TimerTask
  8. Docker环境下eShopOnContainers部署
  9. 如何向map和reduce脚本传递参数,加载文件和目录
  10. hbase单机及集群安装配置,整合到hadoop