HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以3台机器为例,搭建一个简单的集群.
1.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:
JAVA_HOME=export JAVA_HOME=/opt/jdk1.8.0_121
关闭HBase自带的Zookeeper,使用Zookeeper集群:
export HBASE_MANAGES_ZK=false
2. 编辑hbase-site.xml ,添加配置文件:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://c7001:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>c7003,c7004,c7005</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/hbase-1.3.0/tmp/zk/data</value>
</property>
</configuration>
3. 编辑配置目录下面的文件regionservers. 命令:
vi regionservers
加入如下内容:
node2
node3
在node1机器开启hbase服务。命令如下:
$ bin/start-hbase.sh
Hbase高可用配置
<property>
<name>hbase.master</name>
<value>60000</value><!--这里注意了,只需端口即可,不必再写主机名称了!-->
</property>
在node2机器上 启动HMaster
hbase的log中可以看到
2015-08-07 14:00:14,765 INFO [hadoop002:60000.activeMasterManager] master.ActiveMasterManager: Another master is the active master, hadoop001,60000,1438927191790; waiting to become the next active master
这样就可以判断哪台是Active了