HBase分布式集群搭建

发布 : 2016-02-12 分类 : 大数据 浏览 :

1.Hbase简介

1.1.什么是hbase

1
2
3
4
5
6
Hbase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建大规模结构化存储集群
Hbase的目标是存储并处理大型的数据,更具体来说仅需使用普通的硬件配置,就能狗处理由成千上万行和列所组成的大型数据
Hbase是Google Bigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable利用GFS作为其文件存储系统,
Hbase利用Hadoop HDFS作为其文件存储系统;
Google运行MapReduce来处理Bigtable中的海量数据,Hbase同样利用Hadoop MapReduce来处理Hbase中的海量数据
Google Bigtable利用Chubby作为协同服务,Hbase利用Zookeeper作为对应

1.2.与传统数据库的区别

1
2
3
4
5
6
7
8
9
1.传统数据库遇到的问题:
1).数据量很大的时候无法存储/存储
2).没有很好地备份机制/备份
3).数据达到一定数量开始缓慢,很大的话基本无法支撑/存储量有限

2.Hbase优势:
1).线性优势,随着数据量增多可以通过节点拓展进行支撑/zookeeper
2).数据存储在hdfs上,备份机制健全/hdfs
3).通过Zookeeper协调查找数据,访问数据快/zookeeper

1.3.hbase集群中的角色

1
2
1.一个或者多个主节点,Hmaster
2.多个从节点,HreginServer

1.3.hbase集群中的角色

1
2
3
4
前提:HBase数据要存储到HDFS上,要有Zookeeper,即要先安装/启动HDFS才能安装/启动HBase

选择192.168.230.11(node01).192.168.230.11(node02).192.168.230.12(node03).192.168.230.13(node04)主机搭建分布式集群
HMaster HRegionServer HRegionServer HRegionServer

2.Hbase安装

2.1.解压Hbase压缩文件到指定目录下

1
[root@node02 software]# tar -zxvf hbase-1.1.3-bin.tar.gz -C /opt/modules

2.2.配置Hbase的环境变量

1
2
3
4
[root@node02 ~]# vi ~/.bash_profile

export HBASE_HOME=/opt/modules/hbase-1.1.3
export PATH=$PATH:$HBASE_HOME/bin

Markdown

1
[root@node02 ~]# source ~/.bash_profile

2.3.修改配置文件

2.3.1.配置/opt/modules/hbase-1.1.3/conf/reginservers文件,编辑从节点的主机名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@node02 ~]# cd /opt/modules/hbase-1.1.3/conf/
[root@node02 conf]# ll
total 40
-rw-r--r--. 1 root root 1811 Jan 17 2016 hadoop-metrics2-hbase.properties
-rw-r--r--. 1 root root 4537 Jan 17 2016 hbase-env.cmd
-rw-r--r--. 1 root root 7468 Jan 17 2016 hbase-env.sh
-rw-r--r--. 1 root root 2257 Jan 17 2016 hbase-policy.xml
-rw-r--r--. 1 root root 934 Jan 17 2016 hbase-site.xml
-rw-r--r--. 1 root root 4339 Jan 17 2016 log4j.properties
-rw-r--r--. 1 root root 10 Jan 17 2016 regionservers
[root@node02 conf]# vi regionservers
node02
node03
node04

2.3.1.编辑/opt/modules/hbase-1.1.3/conf目录下的hbase-env.sh文件,

1
2
3
4
5
[root@node02 conf]# vi hbase-env.sh

#配置JAVA_HOME.HBASE_CLASSPATH
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HBASE_CLASSPATH=/opt/modules/hadoop-2.5.1/etc/hadoop

Markdown

1
2
去掉自带的export HBASE_MANAGES_ZK=true   #如果使用独立安装zookeeper这个地方就是false
export HBASE_MANAGES_ZK=false

Markdown

2.3.1.编辑/opt/modules/hbase-1.1.3/conf目录下的hbase-site.xml文件

1
[root@node02 conf]# vi hbase-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<property>
<name>hbase.master</name>#hbasemaster的主机和端口
<value>node01:60000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name># 时间同步允许的时间差
<value>180000</value>
</property>
<property>
<name>hbase.rootdir</name>
<!-- 后面一定加上/hbase目录,不能是根目录 -->
<value>hdfs://matrix/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node02,node03,node04</value>
</property>

Markdown

2.4.将在node5主机上配置好的hbase相关文件发送给node2.node3节点

1
2
3
4
5
6
7
8
[root@node02 ~]# scp -r /opt/modules/hbase-1.1.3 root@node01:/opt/modules/hbase-1.1.3
[root@node02 ~]# scp -r /opt/modules/hbase-1.1.3 root@node03:/opt/modules/hbase-1.1.3
[root@node02 ~]# scp -r /opt/modules/hbase-1.1.3 root@node04:/opt/modules/hbase-1.1.3


[root@node02 ~]# scp -r ~/.bash_profile root@node01:~/.bash_profile
[root@node02 ~]# scp -r ~/.bash_profile root@node03:~/.bash_profile
[root@node02 ~]# scp -r ~/.bash_profile root@node04:~/.bash_profile

2.5.启动HBase

1
[root@node01 ~]# /opt/modules/hadoop-2.5.1/sbin/start-dfs.sh

Markdown

1
[root@node01 ~]# /opt/modules/hbase-1.1.3/bin/start-hbase.sh

Markdown

2.5.1.查看HBase的WebUI

1
在浏览器上输入:http://192.168.230.10:16010/master-status

Markdown

2.5.2.进入Hbase的命令行模式

1
2
[root@node01 ~]# cd /opt/modules/hbase-1.1.3
[root@node01 hbase-1.1.3]# ./bin/hbase shell

Markdown

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/Hbase分布式集群部署/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹