Hbase集群搭建

0.准备工作

  • Centos7
  • Zookeeper
  • Hadoop完全分布式
  • 三个环境
    • master
    • slave1
    • slave2
  • Hbase组件

1.安装组件

将文件传入master节点

scp hbase-1.2.0-bin.tar.gz root@master:~/

解压缩

tar -zxvf hbase-1.2.0-bin.tar.gz

将文件夹名称更改为“hbase”

mv hbase-1.2.0 hbase

2.修改配置文件

进入配置文件目录

cd hbase/conf/

修改对应的配置内容:

  • hbase.env.sh
#JAVA目录
export JAVA_HOME=/root/java/jdk1.8.0_201
#是否启用Hbase自带的zookeeper
export HBASE_MANAGES_ZK=false
  • hbase.site.xml
<property>
	<name>hbase.rootdir</name>
	<value>hdfs://master:9000/HBase</value>
</property>
<property>
	<name>hbase.cluster.distributed</name>
	<value>true</value>
</property>
 <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
	<name>hbase.master.port</name>
	<value>16000</value>
</property>
<property> 
	<name>hbase.zookeeper.quorum</name>
 	<value>master,slave1,slave2</value>
</property>
<property> 
	<name>hbase.zookeeper.property.dataDir</name>
 	<value>/root/zookeeper/zkData</value>
</property>
  • regionservers
master
slave1
slave2

3.将配置好的 Hbase 分发到其他节点

scp -r hbase root@slave1:~/
scp -r hbase root@slave2:~/

4.启动集群

启动方式1:

master 节点输入

bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

==注意,如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出ClockOutOfSyncException 异常。==

解决方法:

  1. 同步时间服务

  2. 属性:hbase.master.maxclockskew 设置更大的值

    <property>
         <name>hbase.master.maxclockskew</name>
         <value>180000</value>
         <description>Time difference of regionserver from 
        master</description>
    </property>
    

启动方式2:

master 节点输入

bin/start-hbase.sh

停止方式:

bin/stop-hbase.sh
上一篇 下一篇