程序员人生 网站导航

[置顶] 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装

栏目:服务器时间:2015-04-08 08:53:17

在这篇blog中,我们将介绍Hbase的单机模式安装与伪散布式的安装方式,和通过阅读器查看Hbase的用户界面。搭建hbase伪散布式环境的条件是我们已搭建好了hadoop完全散布式环境,搭建hadoop环境请参考:【Hadoop基础教程】4、Hadoop之完全散布式环境搭建

开发环境


硬件环境:Centos 6.5 服务器4台(1台为Master节点,3台为Slave节点)
软件环境:Java 1.7.0_45、Eclipse Juno Service Release 2、hadoop⑴.2.1、hbase-0.94.20。

1、 HBase 安装


1) 下载安装包

hbase-090.3.tar.gz版本与hadoop⑴.2.1良好兼容,从官网下载hbase-090.3.tar.gz安装包,并将下载的hbase-090.3.tar.gz拷贝到/home/hadoop目录下。hbase官网下载地址:http://archive.apache.org/dist/hbase/
选择HBase-0.94.20版本,下载 HBase Releases.

2) 解压安装包

[hadoop@K-Master ~]$ cd /usr
[hadoop@K-Master usr]$ sudo tar -xvf /home/hadoop/hbase-090.3.tar.gz   #解压安装源码包
[hadoop@K-Master usr]$ mv hbase-090.3 hbase    #重命名
[hadoop@K-Master usr]$ cd hbase
[hadoop@K-Master hbase]$ sudo chown -R hadoop:hadoop hbase #赋予hbase安装目录下所有文件hadoop权限

3) 配置安装路径

#将hbase下的bin目录添加到系统的path中,在/etc/profile文件尾行添加以下的内容
[hadoop@K-Master usr]$ sudo vim /etc/profile
export  PATH=$PATH:/usr/hbase/bin
#履行source命令使上述配置在当前终端立即生效
[hadoop@K-Master usr]$ source /etc/profile

4) 验证是不是安装成功

[hadoop@K-Master usr]$ hbase version
14/07/21 18:01:57 INFO util.VersionInfo: HBase 0.94.20
14/07/21 18:01:57 INFO util.VersionInfo: Subversion git://newbunny/home/lars/dev/hbase-0.94 -r 09c60d770f2869ca315910ba0f9a5ee9797b1edc
14/07/21 18:01:57 INFO util.VersionInfo: Compiled by lars on Fri May 23 22:00:41 PDT 2014

看到以上打印消息表示Hbase已安装成功,接下来将分别进行Hbase单机模式和伪散布式模式的配置。

2、 HBase单机模式


1) 配置/conf/hbase-env.sh

将JAVA_HOME变量设置为Java安装的根目录,配置以下所示:

[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
#对hbase-env.sh文件做以下修改:
export JAVA_HOME=/usr/java/jdk1.7.0_65  #配置本机的java安装根目录
export HBASE_MANAGES_ZK=true        #配置由hbase自己管理zookeeper,不需要单独的zookeeper。

2) 配置/conf/hbase-site.xml

在启动Hbase前需要设置属性hbase.rootdir,用于指定Hbase数据的存储位置,此处设置为HBase安装目录下的hbase-tmp文件夹即(file:///usr/hbase/hbase-tmp),配置以下:

[hadoop@K-Master hbase]$ vim conf/hbase-site.sh
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///usr/hbase/hbase-tmp</value>
    </property>
</configuration>

特别注意:hbase.rootdir默许为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。

3) 启动Hbase

 [hadoop@K-Master hbase]$ start-hbase.sh 
starting master, logging to /usr/hbase/bin/../logs/hbase-hadoop-master-K-Master.localdomain.out

4) 进入shell模式

进入shell模式以后,通过status命令查看Hbase的运行状态,通过exit命令退出shell。

[hadoop@K-Master hbase]$ hbase shell

HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.20, r09c60d770f2869ca315910ba0f9a5ee9797b1edc, Fri May 23 22:00:41 PDT 2014

hbase(main):001:0> status
1 servers, 0 dead, 2.0000 average load
hbase(main):002:0> exit

5) 停止HBase

[hadoop@K-Master hbase]$ stop-hbase.sh 
stopping hbase.....................

特别注意:如果在操作Hbase的进程中产生毛病,可以通过{HBASE_HOME}目录(/usr/hbase)下的logs子目录中的日志文件查看毛病缘由。

3、 HBase伪散布式模式


1) 配置/conf/hbase-env.sh

添加变量HBASE_CLASSPATH,并将路径设置为本机Hadoop安装目录下的conf目录(即{HADOOP_HOME}/conf)。修改完成后,hbase-env.sh的配置以下:

[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HBASE_CLASSPATH=/usr/hadoop/conf 
export HBASE_MANAGES_ZK=true

2) 配置/conf/hbase-site.xml

修改hbase.rootdir,将其指向K-Master(与hdfs的端口保持1致),并指定HBase在HDFS上的存储路径。将属性hbase.cluter.distributed设置为true。假定当前Hadoop集群运行在伪散布式模式下,且NameNode运行在9000端口;

[hadoop@K-Master hbase]$ vim hbase-site.xml 
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://K-Master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
</configuration>

3) 启动HBase

完成以上操作后启动HBase,启动顺序:先启动Hadoop

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐