HBase集群搭建,
HBase是bigtable的开源山寨版本。
是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写(支持联机业务)的数据库系统。
所以在搭建Hbase集群之前需要先搭建Hadoop集群,可以参见我前面写的 Hadoop—HA集群搭建。
HBase集群结构示意图
搭建环境:CentOS release 6.5 (Final) + jdk1.8.0_131
这里使用三台服务器来搭建,分别为node1、node2、node3;
对应的ip为:192.168.1.11、192.168.1.12、192.168.1.13
一、搭建zookeeper集群
参见前面写的 ZooKeeper-3.4.6分布式集群安装。
二、搭建Hadoop集群
参见前面写的 Hadoop—HA集群搭建。
三、Hbase集群搭建
1)下载HBase版本
下载地址:http://www.apache.org/dyn/closer.cgi/hbase/,在此路径下选择相应的版本下载,我的Hadoop版本为hadoop-2.6.5,本次安装下载选择hbase-1.2.6-bin.tar.gz版本。
由于Hbase是基于Hadoop的所以,Hbase版本号的选择要支持所用的Hadoop版本,具体的可以参见sunny05296的博客HBase各版本对Hadoop版本的支持情况。
2)解压hbase-1.2.6-bin.tar.gz
将hbase-1.2.6-bin.tar.gz解压到指定目录,这里我放在/home/hadoop/app下
tar -zxvf hbase-1.2.6-bin.tar.gz -C /home/hadoop/app
3)修改配置文件
hbase-1.2.6文件目录:
进入conf目录下,修改配置文件,总共需要修改的文件为三个,分别是hbase-env.sh,hbase-site.xml和regionservers。
修改hbase-env.sh文件
1.配置jdk环境;2.停用内部zookeeper,使用外部zookeeper集群
//配置jdk
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
//告诉hbase使用外部的zk
export HBASE_MANAGES_ZK=false
修改hbase-site.xml
注意:配置Hadoop相关的信息,因为这里是Hadoop-HA集群,所以需要将hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下,以解释hdfs://ns1/hbase具体位置
<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>node1:2181,node2:2181,node3:2181</value>
</property>
</configuration>
- 修改regionservers
node1
node2
node3
4)将配置好的HBase拷贝到每一个节点并同步时间。
scp -r hbase-1.2.6 node2:/home/hadoop/app
scp -r hbase-1.2.6 node3:/home/hadoop/app
5) 启动所有的hbase进程
//首先启动zk集群
./zkServer.sh start
//启动hadoop集群
start-dfs.sh
//启动hbase,在主节点上运行:
start-hbase.sh
6) 通过浏览器访问hbase管理页面
192.168.1.11:16010
(7) 为保证集群的可靠性,要启动多个HMaster
//在其他子节点上
hbase-daemon.sh start master