HBase完全分布式安装过程详解

来源:互联网 发布:日系进口厨刀知多少 编辑:程序博客网 时间:2024/06/06 05:18

转自:http://blog.csdn.net/cruise_h/article/details/19048563

HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。它的运行依赖于其他文件系统,如HDFS。

HBase 是一个在HDFS 上开发的面向列的分布式数据库。如果需要实时地随机读/写超大规模数据集,就可以使HBase 这一 Hadoop 应用。

HBase模仿并提供了基于Google文件系统(GFS)中的bigtable数据库的所有功能。

HBase的目标是存储并处理大型的数据,更具体来说是仅需要使用普通的硬件配置就能处理由成千上万的行和列所组成的大型数据。

HBase有三种运行模式,分别为:单机、伪分布式和全分布式。

本文主要介绍HBase的全分布式的安装与配置:

由于HBase是基于其他文件存储系统的,因此在分布式模式下安装Hadoop是必不可少的。

Hadoop的安装过程参见:Hadoop安装详解


另一个先决条件是安装了jdk1.6以上的JVM。


下面进入正题,安装全分布hbase。

1.HBase的下载与解压

下载地址:http://mirror.esocc.com/apache/hbase

下载HBase版本:hbase-0.96.2-hadoop2-bin.tar.gz (hbase-0.94.16.tar.gz,0.94版本的安装完成之后会出现HMaster进程启动一会又自动消失的情况,原因不详)

解压到指定的安装目录下:

tar -xzvf hbase-0.96.2-hadoop2-bin.tar.gz(注意解压完成之后将得到hbase-0.96.2文件夹,最好将文件夹的名字改为hbase)(mv hbase-0.96.2 hbase)



2.配置hbase-env.sh

在此文件中打开JAVA_HOME的配置并修改,如下所示;


# The java implementation to use.  Java 1.6 required.
export JAVA_HOME=/usr/jdk1.7.0_45/


3.配置hbase-site.xml

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <configuration>  
  2.   <property>  
  3.      <name>hbase.rootdir</name>  
  4.      <value>hdfs://master:9000/hbase</value>  
  5.   </property>  
  6.   <property>  
  7.       <name>hbase.cluster.distributed</name>  
  8.       <value>true</value>  
  9.    </property>   <property>  
  10.         <name>hbase.zookeeper.quorum</name>  
  11.         <value>master,slave1,slave2</value>  
  12.     </property>  
  13.     <property>  
  14.          <name>hbase.zookeeper.property.dataDir</name>  
  15.          <value>/home/haduser/zookeeper/zookeeper-3.4.5/data</value>  
  16.      </property>  
  17. </configuration>  

在上面的配置文件中,第一个属性指定本机的hbase的存储目录;第二个属性指定hbase的运行模式,true代表全分布模式;第三和第四个属性是关于Zookeeper集群的配置。我的Zookeeper安装在master,slave1和slave2上。


说明:全分布式的HBase集群需要Zookeeper实例运行,并且需要所有的HBase节点能够与Zookeeper实例通信。默认情况下Hbase自身维护着一组默认的Zookeeper实例。不过用户可以配置独立的Zookeeper实例,这样能使HBase系统更加健壮。

要使用独立的Zookeeper实例,需要修改conf/hbase-env.sh配置文件,修改其中的

export HBASE_MANAGES_ZK=false

默认值为true,如将其修改为false,表示不使用默认的Zookeeper实例。


有关Zookeeper集群的安装可以参见:Zookeeper的安装详解(先去将zookeeper安装完后并启动,在来安装hbase)


4.配置regionservers

 regionservers文件列出了所有运行hbase的机器(即HRegionServer)。此文件的配置和Hadoop中的slaves文件十分相似,每行指定一台机器的主机名。当HBase启动的时候,会将此文件中列出的所有机器启动。关闭时亦如此。

在此我们配置如下内容:

slave1
slave2

这就意味着,HBase RegionServer运行在slave1和slave2上面。

slave1
slave2


5. 向其它3个结点复制Hbase相关配置

scp -r HBase/ slave1:/home/haduser/HBase

scp -r HBase/ slave2:/home/haduser/HBase


6.添加HBase相关环境变量 (注意三个节点上的/etc/profile都需要修改)

#set hbase environment
export HBASE_HOME=/home/haduser/HBase/hbase-0.94.16
export PATH=$PATH:$HBASE_HOME/bin


将hadoop的配置文件(最少需要hdfs-site.xml)copy到hbase0.96的conf目录下

hadoop

的配置文件(最少需要

hdfs-site.xml

copy

hbase0.96

conf

目录下

 

hadoop

的配置文件(最少需要

hdfs-site.xml

copy

hbase0.96

conf

目录下

 

8.启动Hbase

由于HBase是基于hdfs文件存储系统之上的,故应该先启动hdfs。另外,由于我们在此使用独立的Zookeeper实例,故需要先手动的启动Zookeeper实例。


确认Zookeeper启动之后,我们接下来启动HBase(bin/start-hbase.sh)。如下图所示:



启动完成之后,可以进入hbase shell(bin/hbase shell),执行一下create或者list命令。



0 0