zoukankan      html  css  js  c++  java
  • HBase安装配置

    一、HBase概述:

    HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务,可以存储海量稀疏的数据,并具备一定的容错性、高可靠性及伸缩性。主要应用场景是实时随机读写超大规模的数据。

    HBase在列上实现了BigTable论文提到的压缩算法、内存操作和布隆过滤器。HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以通过REST、Avro或者Thrift的API来访问。

    HBase不能取代RDBMS,因为二者的应用场景不同。HBase为了解决海量数据的扩展性,支持简单的增加节点来实现线性扩展,从而在集群上管理海量的非结构化或半结构化的稀疏数据。HBase仅能通过主键(raw key)或主键的range检索数据,支持单行事务。

     
     
     

    上图描述Hadoop EcoSystem中的各层系统。其中,HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

    此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

    二、安装之前 - 检查必要条件

    2.1 Java (需要安装1.6.x及其以上版本)

    在终端输入 java -version 来查看你机子上的 Java 版本;

     

    2.2 Hadoop

    Hadoop的具体安装可以参见我们以前的课程:Hadoop部署及管理需要注意的是伪分布模式下,HBase 的版本需要和 Hadoop版本 匹配 ,不然很可能容易出错。你可以在HBase的lib目录下看到对应的Hadoop的Jar文件版本。

    在这里,我们使用了Hadoop V2.4.1版本以及HBase V0.98.11版本。

    Hadoop 2.4.1 目录位置在实验楼环境中的 /opt/hadoop-2.4.1

    2.3 SSH

    SSH的安装,Hadoop部署及管理中也涵盖了这部分内容。SSH用来管理远程Hadoop和HBase守护进程。

    本实验环境下,为了大家的方便,我们已经为大家准备好了这些必要条件,你只需要专注于HBase的安装配置即可。


    三、安装进行时 - 安装和配置HBase

    确认上面的条件我们都准备好了之后,就可以开始安装HBase了。实验开始前,你应该切换到 hadoop 用户:

    $ su hadoop
    

    HBase的安装通常分为3种模式:

    3.1 单机模式 安装

    3.1.1 下载和解压

    单机模式的安装非常简单,几乎不用对安装文件做什么修改就可以使用。单机模式下,HBase并不使用HDFS,因此将安装文件解压后就几乎可以直接运行。输入命令下载HBase:

    $ sudo wget http://labfile.oss.aliyuncs.com/hbase-0.98.11-hadoop2-bin.tar.gz

    hbase 其他下载源参考 : https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/stable/hbase-1.4.9-bin.tar.gz

    再将其压缩包解压:

    $ sudo tar zxvf hbase-0.98.11-hadoop2-bin.tar.gz
    

    由于解压出来的文件名可能很长,建议修改为较短文件名,例如:

    $  sudo mv hbase-0.98.11-hadoop2 /opt/hbase
    $  sudo chmod 777 /opt/hbase     #授予权限
    

    3.1.2 配置 hbase-site.xml

    在运行之前,我们需要对HBase进行相关配置。建议大家修改 ${HBase-Dir}/conf/hbase-site.xml 文件,因为即使你修改了hbase-default.xml文件,也会被hbase-site.xml中的配置所覆盖。也就是说,最终是以 hbase-site.xml 中的配置为准的。我们做如下修改:

    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>file:///tmp/hbase-${user.name}/hbase</value>
        </property>
    </configuration>
    

    注意:修改 ${user.name}为你自己的 hadoop 用户名

    3.2 伪分布模式安装

    伪分布模式是一个运行在单台机器上的分布式模式。此模式下,HBase所有的守护进程将运行在同一个节点之上,而且需要依赖HDFS,因此在此之前必须保证HDFS已经成功运行,请参考我们前面的课程:Hadoop伪分布模式配置部署确认无误后,我们就可以开始配置HBase的参数了。

    (1)配置 hbase-site.xml 文件

    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
    </configuration>
    

    hbase.rootdir:该参数制定了HReion服务器的位置,即数据存放的位置。主要端口号要和Hadoop相应配置一致。
    hbase.cluster.distributed:HBase的运行模式。false是单机模式,true是分布式模式。若为false, HBase和Zookeeper会运行在同一个JVM里面。默认为false.

    (2)设置环境变量

    另外,我们需要设置一些环境变量。修改HBase下的conf目录中的hbase-env.sh文件(你的jdk路径可能不一样):

    export JAVA_HOME=/usr/local/jdk1.7.0_67
    export HBASE_MANAGES_ZK=true
    

    export HBASE_MANAGES_ZK=true
    此配置信息,表示设置由hbase自己管理zookeeper,不需要单独的zookeeper, 本文搭建的 Hbase 用的是自带的 zookeeper,故设置为true.

    最后修改添加PATH, 则输入:

    $ sudo vim /etc/profile
    

    来修改 /etc/profile 文件:

    # set hbase path
    export HBASE_HOME=/opt/hbase
    export PATH=$PATH:/opt/hbase/bin
    

    3.3 完全分布模式安装

    由于完全分布模式需要多台机器,在这里我们就不给出演示了。


    四、安装之后 - 运行和停止 HBase

    正如上面我们提到的,HBase安装分为3个模式,因此HBase的运行自然也分为同样的3个模式。

    4.1 单机模式运行

    (1)启动

    单机模式下不需要HDFS,因此不需要事先启动Hadoop,直接启动HBase即可。终端下输入命令:./start-hbase.sh

     
     

    注意:路径要正确,应为:$HBASE_HOME/bin 目录,否则会找不到 start-hbase.sh 这个文件,就会出现错误

    (2)查看进程

    我们可以通过 jps 来查看当前 HBase 的进程:

     
     
     

    (3)停止 HBase 服务

    输入 ./stop-hbase.sh

     

    4.2 伪分布模式运行

    (1)启动和查看进程

    前面我们提到过,伪分布模式下,必须先确保 HDFS 已经启动。因此,我们先启动 HDFS,输入命令: ./start-all.sh

     

    使用 jps 查看目前 Hadoop 的进程:

     
     

    HDFS 成功启动之后,我们再启动 HBase,这里和单机模式下启动 HBase 的方法一样,输入命令: ./start-hbase.sh

     

    此时再使用 jps查看,可以看到多了HBase的相关进程:

     

    (2)进入 HBase Shell

    通过HBase Shell用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关相信等。

     

    输入 help 来查看其所支持的命令,可以根据自己的需要选择。

     

    输入 exit 退出shell

    (3)停止 HBase

    根据依赖关系,我们需要先关闭HBase, ./stop-hbase.sh

     

    通过 jps 可以看到,HBase相关的进程没有了:

     

    再关闭HDFS, ./stop-all.sh.

     

    最后,再通过 jps 发现 HDFS 的进程也没有了:

     



    实例配置:

    [root@hadoop000 conf]# cat hbase-site.xml 
    
    <configuration>
            
              <property>
            <name>hbase.rootdir</name>
            <value>hdfs://hadoop000:8020/hbase</value>  //这个端口必须与hadoop  core-site.xml 配置文件下 端口匹配
        </property>
    
    
         <property>
            <name>hbase.master.info.port</name>
            <value>60010</value>
     </property>
    
    
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
    
    </configuration>
    

      

    [root@hadoop000 conf]# cat hbase-env.sh 
    
    *****
    
    export JAVA_HOME=/home/JDK/jdk1.8.0_181
    
    export HBASE_MANAGES_ZK=true
    
    *****
    

      

    [root@hadoop000 conf]# cat regionservers 
    hadoop000
    

      

    成功启动后 验证 

    [root@hadoop000 hadoop]# jps
    15760 ResourceManager
    19235 Jps
    15461 DataNode
    18426 HQuorumPeer
    15851 NodeManager
    15340 NameNode
    18493 HMaster
    18621 HRegionServer
    15614 SecondaryNameNode

  • 相关阅读:
    黑客书架上的书籍(转)
    vc 得到文件后缀名(转)
    配置IIS7(转)
    vs2008 目标框架 发布遇到的问题(转)
    CListCtrl用法(转)
    T400 折腾
    VS2008和.NET Framework3.5新功能(转)
    sql 2008 ctp 安装
    关于定位lsass内存中的明文密码(转)
    NT系统下木马进程的隐藏与检测(转)
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/10881053.html
Copyright © 2011-2022 走看看