HBase官网下载
HBase官网下载地址:点击去下载
我们选择2.4.2版本的bin文件下载:

HBase安装与配置
具体配置可以参考官网说明文档:官方说明文档
1)我们在/usr目录下新建hbase目录
2)将hbase的tar包通过rz指令上传到hbase目录
3)使用如下指令解压tar包到当前文件夹
tar -zxvf hbase-2.4.2-bin.tar.gz
解压后其内部目录如下:

4)修改核心配置
[list]hbase-env.sh:配置 HBase 运行时的变量,如 Java路径、RegionServer 相关参数等。
hbase-site.xml:在这个文件中可以添加 HBase 的相关配置,如分布式的模式、ZooKeeper 的配置等。[/list]
HBase的核心配置文件是conf目录下的hbase-site.xml,可以搭建HBase单机版、完全分布式、高可用几种方式,根据不同的搭建方式,hbase-site.xml配置内容也不一样。但是在配置核心文件之前:
1)我们要先配置conf下的hbase-env.sh运行环境,新增如下配置:

程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
export JAVA_HOME=/usr/java/jdk1.8.0_111
2)配置环境变量
#编辑文件 vi /etc/profile #新增配置 export HBASE_HOME=/usr/hbase/hbase-2.4.2 export PATH=$PATH:$HBASE_HOME/bin #使之生效 source /etc/profile
3)此版本hbase-site.xml原property配置如下(后面的配置都基于此配置新增或修改):
hbase.cluster.distributed false hbase.tmp.dir ./tmp hbase.unsafe.stream.capability.enforce false
[v_act]1、单机版方式(1)[/v_act]
单机版方式HBase默认不使用HDFS,而是使用本地文件系统,并且在同一JVM中运行所有HBase守护进程和本地ZooKeeper。ZooKeeper绑定到一个知名端口,因此客户端可以与HBase进行通信。
1)hbase-site.xml新增配置如下:
hbase.rootdir file:///usr/hbase/hbasedata
2)执行如下指令启动hbase:

AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
start-hbase.sh
3)执行jps指令查看启动进程,由于目前我们采用单机版,所以只有HMaster进程:

4)执行如下指令进入HBase:
hbase shell

5)测试,通过list命令显示相关表,只要不出现异常,则代表HBase安装成功

6)通过浏览器查看HBase,在浏览器中通过http://192.168.55.100:16010访问HBase主页面:

7)使用quit退出HBase Shell
[v_act]2、单机版方式(2)-需要提前安装好hadoop并启动[/v_act]
在单机版的hbase上有时有用的一种变体是,所有守护进程都在一个JVM内运行,而不是持久化到本地文件系统,而是持久化到HDFS实例。我们需要修改如上的hbase.rootdir指向我们HDFS目录:
hbase.rootdir hdfs://192.168.55.100:9820/hbase
在此就不再测试了。
[v_act]3、完全分布式[/v_act]
默认情况下,HBase以单机模式运行。提供单机模式和伪分布式模式都是为了进行小型测试。对于生产环境,建议使用完全分布式模式。在完全分布式模式下,HBase守护进程的多个实例在群集中的多个服务器上运行。HBase完全分布式搭建步骤如下:
1)因为HBase的完全分布式依赖hadoop和ZooKeeper,所以在搭建HBase完全分布式前,要先搭建hadoop的完全分布式和ZooKeeper的集群式环境,具体参考文章如下:
[neilian ids=1961]
[neilian ids=2727]
2)在hadoop和ZooKeeper搭建好后,我们已经实现了3台虚拟主机的集群环境:
192.168.217.101 master 192.168.217.102 slave1 192.168.217.103 slave2
3)3台主机的/etc/profile都加上HBase的环境变量配置,并都使之生效
4)参考单机版环境环境配置,我们先在master节点搭建hbase,需要将hbase.cluster.distributed属性设置 为true。通常,将hbase.rootdir其配置为指向高度可用的HDFS文件系统。具体涉及配置如下:
a)在hbase-env.sh新增如下配置:
export HBASE_MANAGES_ZK=false
[v_blue]HBASE_MANAGES_ZK为true表示使用内置的本地ZooKeeper
HBASE_MANAGES_ZK为false表示 使用我们自己安装的ZooKeeper作为独立的集群来运行,即完全与 HBase 脱离关系。[/v_blue]
b)修改hbase-site.xml中部分配置如下:

免费在线工具导航
优网导航旗下整合全网优质免费、免注册的在线工具导航大全
hbase.cluster.distributed true hbase.tmp.dir /usr/hbase/hbase-2.4.2/hbase-tmp hbase.rootdir hdfs://master:9820/hbase hbase.zookeeper.quorum master,slave1,slave2 hbase.zookeeper.property.dataDir /usr/zookeeper/apache-zookeeper-3.5.9-bin/data
[v_blue]1.hbase.rootdir的value需要根据自己实际情况改为hdfs://IP(或域名):端口/hbase。 hbase这个目录不用自己创建,hbase会自动创建。
2.hbase.tmp.dir:本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,我们这里放在安装目录的hbase-tmp下
3.hbase.zookeeper.quorum是配置zoopkeeper的集群。需要根据自己实际情况更改为节点1,节点2,...,节点n的格式。
4.hbase.zookeeper.property.dataDir:zookeeper的属性数据目录,如果你不想重启电脑就被清空的话就要配置这个,因为默认是/tmp。注意文件夹的权限,一般我们指定为ZooKeeper的zoo.conf中的配置。
5.学习阶段这个属性hbase.unsafe.stream.capability.enforce设置为false就行[/v_blue]
c)配置conf目录下regionservers 文件如下:
master slave1 slave2
5)将master节点的hbase目录亚运村拷贝的slave1和slave2:
#在master中执行 scp -rq /usr/hbase root@slave1:/usr/ scp -rq /usr/hbase root@slave2:/usr/
6)启动验证
a)先在master节点启动hadoop,启动成功后,在3个节点都启动ZooKeeper,都启动成功后,最后在master节点启动hbase
#在master节点启动hadoop start-all.sh #在3个节点都启动ZooKeeper zkServer.sh start #在master节点启动hbase start-hbase.sh
7)使用jps查看3个主机的进程如下:
master除jps外有5个进程(我把SecondNameNode放到slave1了):

slave1除jps外有5个进程:

slave2除jps外有4个进程:

8)通过浏览器查看HBase,在浏览器中通过http://192.168.55.100:16010访问HBase主页面:




