多读书多实践,勤思考善领悟

HBase基本环境搭建

本文于1694天之前发表,文中内容可能已经过时。

一、安装前置条件说明

1.1 JDK版本说明

HBase 需要依赖JDK环境,同时HBase 2.0+ 以上版本不再支持JDK 1.7 ,需要安装JDK 1.8+ 。JDK 安装方式见本仓库:

Linux环境下JDK安装

1.2 Standalone模式和伪集群模式的区别

  • Standalone模式下,所有守护进程都运行在一个jvm进程/实例中;
  • 在伪分布模式下,HBase仍然在单个主机上运行,但是每个守护进程(HMaster,HRegionServer 和 ZooKeeper)则分别作为一个单独的进程运行。

说明:两种模式任选其一进行部署即可,对于开发测试来说区别不大。

二、Standalone 模式

2.1 下载并解压

官方网站下载所需要版本的二进制安装包,并进行解压:

1
2

# tar -zxvf hbase-2.1.4-bin.tar.gz

2.2 配置环境变量

1
# vim /etc/profile

添加环境变量:

1
2
export HBASE_HOME=/usr/app/hbase-2.1.4
export PATH=$HBASE_HOME/bin:$PATH

使得配置的环境变量生效:

1
# source /etc/profile

2.3 进行HBase相关配置

修改安装目录下的conf/hbase-env.sh,指定JDK的安装路径:

1
2
# The java implementation to use.  Java 1.8+ required.
export JAVA_HOME=/usr/java/jdk1.8.0_201

修改安装目录下的conf/hbase-site.xml,增加如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/hbase/rootdir</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zookeeper/dataDir</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>

hbase.rootdir: 配置hbase数据的存储路径;

hbase.zookeeper.property.dataDir: 配置zookeeper数据的存储路径;

hbase.unsafe.stream.capability.enforce: 使用本地文件系统存储,不使用HDFS的情况下需要禁用此配置,设置为false。

2.4 启动HBase

由于已经将HBase的bin目录配置到环境变量,直接使用以下命令启动:

1
# start-hbase.sh

2.5 验证启动是否成功

验证方式一 :使用jps命令查看HMaster进程是否启动。

1
2
3
[root@hadoop001 hbase-2.1.4]# jps
16336 Jps
15500 HMaster

验证方式二 :访问HBaseWeb UI 页面,默认端口为16010

三、伪集群模式安装(Pseudo-Distributed)

3.1 Hadoop单机伪集群安装

这里我们采用HDFS作为HBase的存储方案,需要预先安装Hadoop。Hadoop的安装方式单独整理至:

Hadoop单机伪集群搭建

3.2 Hbase版本选择

HBase的版本必须要与Hadoop的版本兼容,不然会出现各种Jar包冲突。这里我Hadoop安装的版本为hadoop-2.6.0-cdh5.15.2,为保持版本一致,选择的HBase版本为hbase-1.2.0-cdh5.15.2 。所有软件版本如下:

  • Hadoop 版本: hadoop-2.6.0-cdh5.15.2
  • HBase 版本: hbase-1.2.0-cdh5.15.2
  • JDK 版本:JDK 1.8

3.3 软件下载解压

下载后进行解压,下载地址:http://archive.cloudera.com/cdh5/cdh/5/

1
# tar -zxvf hbase-1.2.0-cdh5.15.2.tar.gz

3.4 配置环境变量

1
# vim /etc/profile

添加环境变量:

1
2
export HBASE_HOME=/usr/app/hbase-1.2.0-cdh5.15.2
export PATH=$HBASE_HOME/bin:$PATH

使得配置的环境变量生效:

1
# source /etc/profile

3.5 进行HBase相关配置

1.修改安装目录下的conf/hbase-env.sh,指定JDK的安装路径:

1
2
# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/usr/java/jdk1.8.0_201

2.修改安装目录下的conf/hbase-site.xml,增加如下配置(hadoop001为主机名):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<configuration>
<!--指定 HBase 以分布式模式运行-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--指定 HBase 数据存储路径为HDFS上的hbase目录,hbase目录不需要预先创建,程序会自动创建-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop001:8020/hbase</value>
</property>
<!--指定 zookeeper 数据的存储位置-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zookeeper/dataDir</value>
</property>
</configuration>

3.修改安装目录下的conf/regionservers,指定region servers的地址,修改后其内容如下:

1
hadoop001

3.6 启动

1
# bin/start-hbase.sh

3.7 验证启动是否成功

验证方式一 :使用jps命令查看进程。其中HMasterHRegionServer是HBase的进程,HQuorumPeer是HBase内置的Zookeeper的进程,其余的为HDFS和YARN的进程。

1
2
3
4
5
6
7
8
9
10
11
12
[root@hadoop001 conf]# jps
28688 NodeManager
25824 GradleDaemon
10177 Jps
22083 HRegionServer
20534 DataNode
20807 SecondaryNameNode
18744 Main
20411 NameNode
21851 HQuorumPeer
28573 ResourceManager
21933 HMaster

验证方式二 :访问HBase Web UI 界面,需要注意的是1.2 版本的HBase的访问端口为60010