HBase 的安装

说明

先启动 ZooKeeper ,再启动 Hadoop 相关组件才能启动 HBase

下载与解压 HBase

HBase 1.2.0 下载地址

找到并下载 hbase-1.2.0-cdh5.7.0.tar.gz

将他传输到 /abs/software 目录

解压到指定目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#将HBase解压到/abs/app/中

tar -zxvf hbase-1.2.0-cdh5.7.0.tar.gz -C /abs/app/
```

## 配置 HBase 环境变量

将 HBase 目录添加到系统环境变量(~/.bash_profile)中

``` bash
vi ~/.bash_profile

export HBASE_HOME=/abs/app/hbase-1.2.0-cdh5.7.0
export PATH=$HBASE_HOME/bin:$PATH

让配置生效

1
source  ~/.bash_profile

修改配置文件

/abs/app/hbase-1.2.0-cdh5.7.0/conf 目录下修改配置文件

hbase-env.sh

1
2
3
4
5
# 导入JAVA_HOME路径
export JAVA_HOME=/abs/app/jdk1.8.0_161

# 将 export HBASE_MANAGES_ZK=true 改为 false
export HBASE_MANAGES_ZK=false

hbase-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:8020/hbase</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop:2181</value>
</property>

regionservers

1
2
3
4
vi regionservers

# 把 localhost 改为你设定的主机名
hadoop

验证

启动 ZooKeeper

/abs/app/zookeeper-3.4.5-cdh5.7.0/bin 目录输入 ./zkServer.sh start 启动 ZooKeeper

在命令行输入 jps

1
2499 QuorumPeerMain

可以看到 QuorumPeerMain 进程已经启动

启动 HDFS 和 YARN

/abs/app/hadoop-2.6.0-cdh5.7.0/sbin 目录下执行以下脚本启动 hdfs

1
./start-dfs.sh

在命令行输入 jps

1
2
3
4
2499 QuorumPeerMain
3285 NameNode
3374 DataNode
3549 SecondaryNameNode

可以看到 NameNodeDataNodeSecondaryNameNode 进程已经启动

/abs/app/hadoop-2.6.0-cdh5.7.0/sbin 目录执行以下脚本启动 yarn

1
./start-yarn.sh

在命令行输入 jps

1
2
3
4
5
6
3699 ResourceManager
3789 NodeManager
2499 QuorumPeerMain
3285 NameNode
3374 DataNode
3549 SecondaryNameNode

可以看到 ResourceManagerNodeManager 进程已经启动

启动 HBase

/abs/app/hbase-1.2.0-cdh5.7.0/bin 目录中输入 ./start-hbase.sh 启动 HBase

命令行出现以下说明启动成功:

1
2
3
4
starting master, logging to /abs/app/hbase-1.2.0-cdh5.7.0/logs/hbase-root-master-hadoop.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
hadoop: starting regionserver, logging to /abs/app/hbase-1.2.0-cdh5.7.0/bin/../logs/hbase-root-regionserver-hadoop.out

在命令行输入 jps

1
2
3
4
5
6
7
8
5169 HRegionServer
5037 HMaster
2499 QuorumPeerMain
3285 NameNode
3374 DataNode
3549 SecondaryNameNode
3699 ResourceManager
3789 NodeManager

可以看到 HRegionServerHMaster 进程已经启动

在关闭防火墙的前提下通过在物理机的浏览器地址栏输入以下访问 WebUI

1
http://虚拟机的主机名:60010

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 在 /abs/app/hbase-1.2.0-cdh5.7.0/bin 目录中输入以下命令启动 HBase shell
./hbase shell

# 查看版本信息
hbase(main):002:0> version
1.2.0-cdh5.7.0, rUnknown, Wed Mar 23 11:46:29 PDT 2016

# 查看当前状态
hbase(main):003:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load

# 创建一张表
hbase(main):001:0> create 'member','info','address'
0 row(s) in 2.7780 seconds

=> Hbase::Table - member

# 查看HBase中所有的表
hbase(main):002:0> list
TABLE
member
1 row(s) in 0.0420 seconds

=> ["member"]

# 查看指定表的信息
hbase(main):003:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS
=> 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS =
> '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS =>
'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '
0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
2 row(s) in 0.1810 seconds

可以在 HBase 的 WebUI 中看到创建的表的信息

* 在 HBase Shell 中输错命令的解决方法为按住 Ctrl + 删除键(backspace) 即可删除

------ 本文结束------
如果对您有帮助的话请我喝瓶水吧!