HBase安装配置

1、HBase概述:

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

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

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

 
 
 

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

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

2、安装以前 - 检查必要条件

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

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

 

2.2 Hadoop

Hadoop的具体安装能够参见咱们之前的课程:Hadoop部署及管理须要注意的是伪分布模式下,HBase 的版本须要和 Hadoop版本 匹配 ,否则极可能容易出错。你能够在HBase的lib目录下看到对应的Hadoop的Jar文件版本。vim

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

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

2.3 SSH

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

本实验环境下,为了你们的方便,咱们已经为你们准备好了这些必要条件,你只须要专一于HBase的安装配置便可。


3、安装进行时 - 安装和配置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
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 彻底分布模式安装

因为彻底分布模式须要多台机器,在这里咱们就不给出演示了。


4、安装以后 - 运行和中止 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

相关文章
相关标签/搜索