如图。
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。。。
下面介绍下hbase的安装过程。
hbase集群架构如下:
hadoopNode03 hmaster
hadoopNode04 hmaster
hadoopNode05 hregionserver zookeeper
hadoopNode06 hregionserver zookeeper
hadoopNode07 hregionserver zookeeper
一、hadoop安装(确认已安装)
由于hbase是基于hadoop的数据库,在我们安装hbase之前,需要先确认下hadoop是否已安装,如已安装则可进行后面的步骤。如果没有安装,可参考笔者前一篇hadoop七节点ha进行安装
二、下载安装hbase
hbase官网:http://hbase.apache.org/
下载hbase安装包,如hbase-1.2.6-bin.tar.gz 到本地,上传到centos进行安装。
cd installpkg
tar -zxvf hbase-1.2.6-bin.tar.gz -C ../app/
三、修改hbase配置
cd ~/app/hbase-1.2.6/conf
1、 vi hbase-env.sh 修改内容如下: 使用外部zk,而不是自带的zk作为协议服务
export HBASE_MANAGES_ZK=false
2、 vi hbase-site.xml 修改内容如下:
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoopNode05:2181,hadoopNode06:2181,hadoopNode07:2181</value>
</property>
<!-- 手动指定 master 后台web端口-->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
3、 vi regionservers 内容如下:
hadoopNode05
hadoopNode06
hadoopNode07
4、由于底层使用了hadoop的ha集群,还需要将hadoop 的配置文件放入到hbase的conf目录中。
cp ~/app/hadoop-2.7.6/etc/hadoop/core-site.xml ./
cp ~/app/hadoop-2.7.6/etc/hadoop/hdfs-site.xml ./
5、复制hadoopNode03上hbase-1.2.6到其他4个节点
cd ~/app
scp -r hbase-1.2.6 hadoopNode04:/home/hadoop/app/
scp -r hbase-1.2.6 hadoopNode05:/home/hadoop/app/
scp -r hbase-1.2.6 hadoopNode06:/home/hadoop/app/
三、启动hbase集群
1 、分别启动zk 在hadoopNode05、hadoopNode06、hadoopNode07上执行
./zkServer.sh start
2 启动hadoop hdfs集群
start-dfs.sh
3 启动hbase,在主节点 hadoopNode03(或hadoopNode04)上运行:
start-hbase.sh 启动第一个hmaster节点和3个hregionserver节点
在 hadoopNode04(或hadoopNode03)上运行:
hbase-daemon.sh start master 启动第二个hmaster节点
4 .通过浏览器访问hbase管理页面
http://hadoopNode03:60010
http://hadoopNode04:60010