《HBase管理指南》一1.2 快速入门-阿里云开发者社区

开发者社区> 异步社区> 正文

《HBase管理指南》一1.2 快速入门

简介:
+关注继续查看

本节书摘来异步社区《HBase管理指南》一书中的第1章,第1.2节,作者: 蒋燚峰 译者: 苏南,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 快速入门

HBase有两种运行模式:单机运行(Standalone)模式和分布式运行(Distributed)模式。单机运行模式是HBase的默认模式。在单机模式中,HBase会使用一个本地文件系统来代替HDFS,并且在同一个JVM上运行所有的HBase守护进程和HBase管理的ZooKeeper实例。

本节将介绍单机HBase的安装。内容包括:安装HBase、以单机模式启动HBase、在HBase Shell中创建一张表、插入记录、清除记录以及关闭单机模式HBase实例。

1.2.1 准备

你需要有一台Linux机器来运行这组软件栈。不建议在Windows系统之上运行HBase。本书将以Debian 6.0.1(Debian Squeeze)为例进行讲解,因为我所任职的Rakuten公司就有多个运行在Debian上的Hadoop/HBase集群,而6.0.1是目前最新一版的Amazon Machine Image(AMI)。你可以从http://wiki.debian.org/Cloud/AmazonEC2Image下载它。

HBase是用Java编写的,因此需要先安装Java。HBase只能运行在Oracle的JDK上,所以在安装时不要使用OpenJDK。尽管Java 7已经发布了,但我们并不建议使用,因为它还需要更多的时间来测试。可以从下列地址中下载到最新版的Java SE 6:http://www.oracle.com/technetwork/java/javase/downloads/index.html

执行下载到的二进制文件,安装Java SE 6。本书将使用/usr/local/jdk1.6来作为JAVA_HOME。

root# ln -s /your/java/install/directory /usr/local/jdk1.6

我们将新建一个名为Hadoop的用户,用来作为所有HBase/Hadoop守护进程和文件的所有者。我们还要把所有HBase文件和数据都存储在/usr/local/hbase目录下。

root# useradd hadoop
root# mkdir /usr/local/hbase
root# chown hadoop:hadoop /usr/local/hbase

1.2.2 操作步骤

从HBase官方网站(http://www.apache.org/dyn/closer.cgi/hbase/)上可以下载到HBase的最新稳定版本。

单机运行模式HBase实例的安装步骤如下。

1.下载HBase源码包,然后将其解压缩到我们为HBase准备的根目录中。为了使安装过程更为简单,我们还要设置一个HBASE_HOME环境变量。完成这两组操作的命令如下:

root# su - hadoop
hadoop$ cd /usr/local/hbase
hadoop$ tar xfvz hbase-0.92.1.tar.gz
hadoop$ ln -s hbase-0.92.1 current
hadoop$ export HBASE_HOME=/usr/local/hbase/current

2.在HBase的环境设置文件中设定环境变量JAVA_HOME,命令如下:

hadoop$ vi $HBASE_HOME/conf/hbase-env.sh
    # The java implementation to use. Java 1.6 required.
    export JAVA_HOME=/usr/local/jdk1.6

3.为HBase创建一个用于存储数据的目录,然后将该路径设置在HBase配置文件(hbase-site.xml)的 标签内。此步操作所使用的命令如下:

hadoop$ mkdir -p /usr/local/hbase/var/hbase
hadoop$ vi /usr/local/hbase/current/conf/hbase-site.xml

  <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/hbase/var/hbase</value>
  </property>

4.使用如下命令以单机运行模式启动HBase:

hadoop$ $HBASE_HOME/bin/start-hbase.sh
starting master, logging to /usr/local/hbase/current/logs/hbase- hadoop- master-master1.out

5.使用如下命令通过HBase Shell连接到正在运行的HBase上:

hadoop$ $HBASE_HOME/bin/hbase shell
 
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.92.1, r1298924, Fri Mar 9 16:58:34 UTC 2012

6.创建一张表并再插入一些值,以此来验证HBase是否安装正确。使用如下命令创建一张名为test的表,并为该表创建一个名为cf1的列族。

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

(1)使用如下命令列出新创建的这张表:

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

(2)使用如下命令在新创建的表中插入一些值:

hbase(main):003:0> put 'test', 'row1', 'cf1:a', 'value1'
0 row(s) in 0.0840 seconds
hbase(main):004:0> put 'test', 'row1', 'cf1:b', 'value2'
0 row(s) in 0.0320 seconds

7.使用scan命令验证我们已将数据插入到了HBase中:

hbase(main):003:0> scan 'test'
ROW                              COLUMN+CELL
row1       column=cf1:a, timestamp=1320947312117, value=value1
row1       column=cf1:b, timestamp=1320947363375, value=value2
1 row(s) in 0.2530 seconds

8.现在,使用disable和drop命令清除掉前面的操作。

(1)使用如下命令禁用表 test:

hbase(main):006:0> disable 'test'
0 row(s) in 7.0770 seconds

(2)使用如下命令删除表test:

hbase(main):007:0> drop 'test'
0 row(s) in 11.1290 seconds

9.使用如下命令退出HBase Shell:

hbase(main):010:0> exit

10.执行stop脚本关闭HBase实例:

hadoop$ /usr/local/hbase/current/bin/stop-hbase.sh
stopping hbase.......

1.2.3 运行原理

通过上面的操作,我们在单台服务器上完成了HBase 0.92.1的安装工作。我们使用了一个名为current的符号链接来指向其安装包的解压缩目录,这样可以使将来的升级更为方便。

为了让HBase能够知道Java的安装位置,我们在HBase的环境设置脚本HBase-env.sh中设置了JAVA_HOME。该脚本中还有一些关于Java堆和HBase守护进程的设置。本书的8~9章将对这些设置进行深入的讨论。

在第1步中,我们在本地文件系统中创建了一个目录,用于存储HBase的数据。在安装完全分布式的HBase时,需要将HBase配置为使用HDFS(而非使用本地文件系统)的方式。当我们在一台服务器上执行了start-hbase.sh脚本时,在该服务器上将会启动一个HBase的主守护进程(HMaster)。因为这一次我们没有配置区域服务器,所以HBase也只是在同一个JVM中启动了一个从守护进程(HRegionServer)。

正如“1.1 简介”一节提到过的那样,HBase需要使用ZooKeeper来作为自己的协调服务。而你可能也已经注意到了,前面这些步骤中并没有启动ZooKeeper。这是因为HBase在默认情况下会启动和管理一个它自己的ZooKeeper仲裁团。

接下来,我们通过HBase Shell连接上了HBase。我们可以使用HBase Shell来管理HBase集群、访问HBase中的数据并完成很多其他的工作。这一次,我们创建了一张名为test的表,向HBase中插入了一些数据,对test表进行了扫描,然后禁用并删除了这张表,最后退出了shell。

我们可以使用HBase的stop-hbase.sh脚本来关闭HBase。该脚本会将HMaster和HRegionServer守护进程都关闭。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
8Manage FAS:让企业管理更高效
近年来,随着快速发展,规模扩大,门店增加,很多企业的管理和数据安全问题逐渐显露,比如说连锁店增加,数据分散,难以统筹共享数据以及高效协同,财务数据不统一,门店经营实况难核算,各门店库存情况各异又难实现互帮互利,财务报表繁杂,工作效率低ooo 为解决这些管理问题,众多管理者们争先恐后地选择适合企业发展使用的企业管理软件,以良好的信息化应用嵌入到企业实际管理当中,满足企业内部的管理需求,同时实时管控各地门店。
1113 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7615 0
12c multitenant database 的用户管理
[20140218]12c multitenant database 的用户管理.txt 12c 引入了multitenant的概念,允许单个数据库(CDB)下包含多个pluggable databases (PDB).
747 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
11935
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载