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
hbase-env.sh
:配置 HBase 运行时的变量,如 Java路径、RegionServer 相关参数等。hbase-site.xml
:在这个文件中可以添加 HBase 的相关配置,如分布式的模式、ZooKeeper 的配置等。
HBase的核心配置文件是
conf
目录下的hbase-site.xml
,可以搭建HBase单机版、完全分布式、高可用几种方式,根据不同的搭建方式,hbase-site.xml
配置内容也不一样。但是在配置核心文件之前:1)我们要先配置
conf
下的hbase-env.sh
运行环境,新增如下配置:
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配置如下(后面的配置都基于此配置新增或修改):
<configuration> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> <property> <name>hbase.tmp.dir</name> <value>./tmp</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>
单机版方式HBase默认不使用HDFS,而是使用本地文件系统,并且在同一JVM中运行所有HBase守护进程和本地ZooKeeper。ZooKeeper绑定到一个知名端口,因此客户端可以与HBase进行通信。
1)
hbase-site.xml
新增配置如下:
<property> <name>hbase.rootdir</name> <value>file:///usr/hbase/hbasedata</value> </property>
2)执行如下指令启动hbase:
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
在单机版的hbase上有时有用的一种变体是,所有守护进程都在一个JVM内运行,而不是持久化到本地文件系统,而是持久化到HDFS实例。我们需要修改如上的
hbase.rootdir
指向我们HDFS目录:
<property> <name>hbase.rootdir</name> <value>hdfs://192.168.55.100:9820/hbase</value> </property>
在此就不再测试了。
默认情况下,HBase以单机模式运行。提供单机模式和伪分布式模式都是为了进行小型测试。对于生产环境,建议使用完全分布式模式。在完全分布式模式下,HBase守护进程的多个实例在群集中的多个服务器上运行。HBase完全分布式搭建步骤如下:
1)因为HBase的完全分布式依赖hadoop和ZooKeeper,所以在搭建HBase完全分布式前,要先搭建hadoop的完全分布式和ZooKeeper的集群式环境,具体参考文章如下:
文章目录展开 一.说明: 二、具体步骤 一.说明: 1、伪分布式环境是一台虚拟机,自身既是主节点又是从节点,即 […]
文章目录展开 第1步:环境准备 第2步:下载安装包 第2步:上传解压 第3步:传安装 1、单机版安装 2、集群 […]
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
HBASE_MANAGES_ZK
为true
表示使用内置的本地ZooKeeperHBASE_MANAGES_ZK
为false
表示 使用我们自己安装的ZooKeeper作为独立的集群来运行,即完全与 HBase 脱离关系。b)修改
hbase-site.xml
中部分配置如下:
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.tmp.dir</name> <value>/usr/hbase/hbase-2.4.2/hbase-tmp</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://master:9820/hbase</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/zookeeper/apache-zookeeper-3.5.9-bin/data</value> </property>
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就行
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主页面: