准备工作

创建集群
Hadoop集群搭建
zookeeper搭建
Hbase下载
将下载好的hbase安装包上传至虚拟机中
在这里插入图片描述
在这里插入图片描述

解压并配置HBase

将HBase解压到指定的目录下,我的目录是在/usr/hadoop下(自己选择)

[root@master1 pakage]# tar -xzvf hbase-2.4.1-bin.tar.gz -C /usr/hadoop/

在这里插入图片描述
配置 hbase-env.sh文件

[root@master1 hbase-2.4.1]# cd conf/
[root@master1 conf]# vi hbase-env.sh 

在这里插入图片描述
将true改成false
在这里插入图片描述
配置hbase-site.xml文件

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://master1:9000/hbase</value>
        </property>

        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.master.port</name>
                <value>16000</value>
        </property>

        <property>
                <name>hbase.zookeeper.quorum</name>
             <value>master1:2181,slave1:2181,slave2:2181</value>
        </property>

        <property>
                <name>hbase.zookeeper.property.dataDir</name>
             <value>/usr/hadoop/apache-zookeeper-3.6.2-bin/zkData</value>
        </property>
        <property>
  				<name>hbase.unsafe.stream.capability.enforce</name>
  				<value>false</value>
		</property>
</configuration>

在这里插入图片描述
配置regionservers 文件

[root@master1 conf]# vi regionservers 

在这里插入图片描述
将配置好的hbase文件分发给另外两个集群

[root@master1 hadoop]# scp -r hbase-2.4.1 root@slave1:/usr/hadoop/
[root@master1 hadoop]# scp -r hbase-2.4.1 root@slave2:/usr/hadoop/

启动HBase

配置hbase的环境变量为了方便启动
在这里插入图片描述

[root@master1 hadoop]# source /etc/profile

先将Hadoop集群和zookeeper集群启动

[root@master1 hadoop]# start-all.sh 
[root@master1 ~]# zkServer.sh start
[root@slave1 ~]# zkServer.sh start
[root@slave2 ~]# zkServer.sh start

再启动hbase

[root@master1 ~]# start-hbase.sh 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可能出现的问题

在这里插入图片描述

2021-03-09 16:43:30,031 ERROR [master/master1:16000:becomeActiveMaster] master.HMaster: Failed to become active master

出现原因是高可用集群中hbase启动的节点standby
解决办法在hbase-site.xml添加

        <property>
                <name>hbase.unsafe.stream.capability.enforce</name>
                <value>false</value>
        </property>

另一种另类的解决办法:
重启Hadoop集群直到变成active

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐