zoukankan      html  css  js  c++  java
  • HBase安装之一:HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面。搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hadoop环境请参考:【Hadoop入门基础教程】4、Hadoop之完全分布式环境搭建

    开发环境


    硬件环境:ubuntu14 服务器4台(一台为Master节点,三台为Slave节点) 
    软件环境:Java 1.6.0_45、Eclipse Juno Service Release 2、hadoop-1.2.1、hbase-0.94.20。

    1、 HBase 安装


    1) 下载安装包

    hbase-090.3.tar.gz版本与hadoop-1.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。(注意点1)
    

    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:///home/duanxz/hbase/hbase-0.98.24-hadoop1/hbase-data</value>
            </property>
    </configuration>
    这里的配置不要有 <name>hbase.cluster.distributed</name>和 <name>hbase.zookeeper.quorum</name>的配置
    (注意点2)
    
    

    特别注意: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

    由于我没有配置HBASE_HOME,所以需要在bin目录下运行hbase命令,如下图:

    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的端口保持一致),并指定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–>再启动HBase,关闭顺序:先关闭HBase–>再关闭Hadoop。

    第一步:启动hadoop集群

    [hadoop@K-Master hbase]$ start-all.sh          #启动hadoop
    [hadoop@K-Master hbase]$ jps               #查看进程
    9040 DataNode
    18205 Jps
    9196 SecondaryNameNode
    10485 JobTracker
    10620 TaskTracker
    8902 NameNode
    

    特别注意:读者可先通过jps命令查看Hadoop集群是否启动,如果Hadoop集群已经启动,则不需要执行Hadoop集群启动操作。

    第二步:启动HBase

    [hadoop@K-Master lib]$ start-hbase.sh          #启动Hbase
    K-Master: starting zookeeper, logging to /usr/hbase/bin/../logs/hbase-hadoop-zookeeper-K-Master.localdomain.out
    starting master, logging to /usr/hbase/bin/../logs/hbase-hadoop-master-K-Master.localdomain.out
    K-Master: starting regionserver, logging to /usr/hbase/bin/../logs/hbase-hadoop-regionserver-K-Master.localdomain.out
    [hadoop@K-Master lib]$ jps                 #查看进程
    9040 DataNode
    18889 HMaster
    19201 Jps
    9196 SecondaryNameNode
    19073 HRegionServer
    10485 JobTracker
    10620 TaskTracker
    18818 HQuorumPeer
    8902 NameNode
    

    4) 进入shell模式

    进入shell模式之后,通过list命令查看当前数据库所有表信息,通过create命令创建一个member表,其拥有member_id,address,info三个列族,通过describe命令查看member表结构,通过exit命令退出HBase shell模式。

    [hadoop@K-Master hadoop]$ 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> create 'member','member_id','address','info'
    0 row(s) in 2.7170 seconds
    
    hbase(main):002:0> list
    TABLE   
    member  
    1 row(s) in 0.0550 seconds
    
    hbase(main):003:0> describe 'member'
    DESCRIPTION  ENABLED
     'member', {NAME => 'address', DATA_BLOCK_ENCODING = true   
     > 'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE 
     => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN
     _VERSIONS => '0', TTL => '2147483647', KEEP_DELETED
     _CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY 
     => 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE =>
      'true'}, {NAME => 'info', DATA_BLOCK_ENCODING => '
     NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => 
     '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_VE
     RSIONS => '0', TTL => '2147483647', KEEP_DELETED_CE
     LLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 
     'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 't
     rue'}, {NAME => 'member_id', DATA_BLOCK_ENCODING =>
      'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE =
     > '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_
     VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_
     CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY =
     > 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 
     'true'}
    1 row(s) in 0.1040 seconds
    
    hbase(main):004:0> exit
    

    5) 查看HDFS的HBase数据库文件

    通过hadoop fs –ls /hbase命令查看HBase分布式数据库在HDFS上是否成功创建,/hbase/member文件夹即为上一步我们所建立的member数据库在HDFS上的存储位置。

    [hadoop@K-Master conf]$ hadoop fs -ls /hbase
    Found 8 items
    drwxr-xr-x   - hadoop supergroup  0 2014-07-21 19:46 /hbase/-ROOT-
    drwxr-xr-x   - hadoop supergroup  0 2014-07-21 19:46 /hbase/.META.
    drwxr-xr-x   - hadoop supergroup  0 2014-07-22 11:38 /hbase/.logs
    drwxr-xr-x   - hadoop supergroup  0 2014-07-22 11:39 /hbase/.oldlogs
    drwxr-xr-x   - hadoop supergroup  0 2014-07-22 11:40 /hbase/.tmp
    -rw-r--r--   1 hadoop supergroup 38 2014-07-21 19:46 /hbase/hbase.id
    -rw-r--r--   1 hadoop supergroup  3 2014-07-21 19:46 /hbase/hbase.version
    drwxr-xr-x   - hadoop supergroup  0 2014-07-22 11:40 /hbase/member
    

    6) HBase用户界面: 
    通过下面的链接可以访问Hbase的一些相关信息,链接说明如下表格所示:

    链接说明

    7) 停止HBase

    完成上述操作后,执行关闭HBase操作,关闭顺序:先关闭HBase —>再关闭Hadoop。

    [hadoop@K-Master hadoop]$ stop-hbase.sh    #停止Hbase
    stopping hbase..................
    K-Master: stopping zookeeper.
    
    [hadoop@K-Master hadoop]$ stop-all.sh  #停止Hadoop
    stopping jobtracker
    K-Master: stopping tasktracker
    stopping namenode
    K-Master: stopping datanode
    K-Master: stopping secondarynamenode
    

    4、 HBase的用户界面


    1) HDFS主页

    输入http://{主机名}:50070/dfshealth.jsp 进入HDFS主页,在该主页点击“Browse the filesystem”超链接,选择hbase目录,可以查看HBase在HDFS上生成的/hbase目录结构,该目录用于存放Hbase数据,如下图所示;

    HDFS下的Hbase目录

    2) Master页面

    通过地址http://{主机名}:60010/master.jsp 可以查看HBase的相关信���,如下图所示。

    Hbase Master页面

    主要包含的信息如下:

    • Attributes信息

    Master属性信息包含了当前集群的详细信息,从上往下依次为HBase的版本及编译信息、Hadoop的版本及编译信息、HBase根目录的路径、Region服务器的平均负载以及ZooKeeper Quorums的地址。

    Hbase Master页面Attributes属性

    • Tables信息

    用户表信息给出了HBase中的表信息及相关属性,目录表信息包含两个目录表:-ROOT-和.META.;

    Hbase Master页面Tables信息

    点击上图[Details]链接,跳转到Tables Details界面,如下图所示:

    Hbase Tables Details信息

    • Region Servers信息

    Region服务器信息给出了所有Region服务器的地址,如下图所示;

    Region Servers信息

    3) ZooKeeper页面

    通过Master页面中Master属性提供的链接,可以进入ZooKeeper页面,该页面显示了HBase的根目录、省前的主Master地址、保存-ROOT-表的Region服务器的地址、其他Region服务器的地址及ZooKeeper的一些内部信息,如下图所示。

    ZooKeeper页面

    4) 用户表页面

    通过Master页面中用户表信息提供的链接http://{主机名}:60010/table.jsp?name=user ,可以进入用户表页面,如下图所示。该页面给出了表当前是否可用以及表在Region服务器上的信息。同时提供了根据行键合并及拆分表的操作。

    User表详细信息

    5) Region服务器页面

    通过Master页面中Region服务器信息提供的链接,可以进入Region服务器页面,该页面显示了Region服务器的基本属性和其上所有Regions的信息,如下图所示。

    Region服务器页面

    参考

    http://hbase.apache.org/book.html#_getting_started

  • 相关阅读:
    系统编程-进程-vfork使用、浅析
    C语言实现面向对象方法学的GLib、GObject-初体验
    技术储备--SPI接口硬件协议栈芯片W5500使用
    Linux板子与ubuntu交互,NFS配置
    开发板、windows、虚拟机互相ping通
    HTML 列表的使用
    锚链接的使用
    超链接的使用
    4.3 浏览器模拟--headers属性
    利用urllib下载图片
  • 原文地址:https://www.cnblogs.com/duanxz/p/2584240.html
Copyright © 2011-2022 走看看