Hbase介绍
HBase是一个分布式的、面向列的开源数据库,源于Google的一篇论文《BigTable:一个结构化数据的分布式存储系统》。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。欲了解HBase的官方资讯,请访问[HBase官方网站](http://hbase.apache.org/)。 HBase的运行有三种模式:单机模式、伪分布式模式、分布式模式。 单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储;伪分布式模式:在一台计算机上模拟一个小的集群;分布式模式:使用多台计算机实现物理意义上的分布式存储。这里出于学习目的,只重点讨论单机模式和伪分布式模式。
本文运行环境是在Ubuntu-64位系统下,HBase版本为hbase-1.1.2,这是目前已经发行的已经编译好的稳定的版本,带有src的文件是未编译的版本,这里只要下载bin版本hbase-1.1.2-bin.tar.gz就好了。hbase-1.1.2-bin.tar.gz.mds是用来校验文件hbase-1.1.2-bin.tar.gz是否完整,一般不需要校验,如果您想要校验可以参考Hadoop安装教程 中对Hadoop的校验。
HBase的安装
1.解压安装包hbase-1.1.2-bin.tar.gz至路径 /usr/local,命令如下:
sudo tar -zxf ~/下载/hbase-1.1.2-bin.tar.gz -C /usr/local
此处我的HBase在下载后所处的文件夹不是在下载目录下,找到文件夹下载后所在的位置,将其复制到下载目录下,但是由于文件的权限是只读,所以无法直接复制,打开文件的属性,将其权限进行修改,然后粘贴到下载目录下。
另外,在解压后可以通过图形界面找到该文件的位置,此处所指的路径/usr/local,对应图形界面的文件夹是:其他位置/计算机/usr/local。
2.将解压的文件名hbase-1.1.2改为hbase,以方便使用,命令如下:
sudo mv /usr/local/hbase-1.1.2 /usr/local/hbase
3.配置环境变量
将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。下面的部分还是切换到了/usr/local/hbase目录操作,有助于理解运行过程。
编辑~/.bashrc文件
vi ~/.bashrc
如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:
export PATH=$PATH:/usr/local/hbase/bin
编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:
source ~/.bashrc
4.添加HBase权限
cd /usr/local sudo chown -R hadoop ./hbase #将hbase下的所有文件的所有者改为hadoop,hadoop是当前用户的用户名。
chown -R hadoop:hadoop ./spark # hadoop是当前登录Linux系统的用户名,把当前目录下的spark子目录的所有权限,赋予给用户hadoop
5.查看HBase版本,确定hbase安装成功,命令如下:
/usr/local/hbase/bin/hbase version
HBase配置
HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。作为学习,重点讨论单机模式和伪分布式模式。
以下先决条件很重要,比如没有配置JAVA_HOME环境变量,就会报错。
(1)jdk
(2)Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
(3)SSH
1.单机模式配置
(1)配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:
vi /usr/local/hbase/conf/hbase-env.sh
配置JAVA环境变量,jdk的安装目录默认是 /usr/lib/jvm/java-1.7.0-openjdk, 则JAVA _HOME =/usr/lib/jvm/java-7-openjdk-amd64,其中java-1.7.0-openjdk是你的jdk版本;配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。hbase-env.sh中本来就存在这些变量的配置,只需要删除前面的#并修改配置内容即可(#代表注释):
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export HBASE_MANAGES_ZK=true
添加完成后保存退出即可。
(2)配置/usr/local/hbase/conf/hbase-site.xml
打开并编辑hbase-site.xml,命令如下:
vi /usr/local/hbase/conf/hbase-site.xml
在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp),添加配置如下:
(3)接下来测试运行。首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:
cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell