1.环境准备:

(1)VMware Workstation Pro17(其他也可)

(2)Centos7

(3)FinalShell

(4)hadoop集群(具体搭建看我以前的文章)

(5)Zookeeper集群(具体搭建看我以前的文章)

2.HBase的安装

  • 从Apache HBase官方网站下载HBase的最新稳定版本。

hadoop版本为3.2.4,为了与hadoop兼容选择2.4的hbase

图1

  • 解压下载的HBase压缩包到指定目录。
[hduser@node1 software]$ tar -zxvf hbase-2.4.18-bin.tar.gz -C /opt/module/

图2

  • 配置HBase的环境变量,确保hbase命令在命令行中可用。
[hduser@node1 module]$ sudo vim /etc/profile.d/my_env.sh

图3

分发一下环境变量

[hduser@node1 module]$ sudo /home/hduser/bin/xsync /etc/profile.d/my_env.sh

图4

应用环境变量

[hduser@node1 module]$ source /etc/profile.d/my_env.sh

修改hbase的配置文件

[hduser@node1 module]$ cd hbase-2.4.18/conf

图5

修改HBase对应的配置文件。

(1)hbase-env.sh

[hduser@node1 conf]$ vim hbase-env.sh

export HBASE_MANAGES_ZK=false

图6

  1. hbase.site.xml
[hduser@node1 conf]$ vim hbase-site.xml
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>node1,node2,node3</value>
    <description>The directory shared by RegionServers.
    </description>
</property>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://node1:8020/hbase</value>
    <description>The directory shared by RegionServers.
    </description>
</property>

图7

(3)regionservers (三台主机)

[hduser@node1 conf]$ vim regionservers

图8

为解决Hbase和Hadoop的log4j兼容性问题,修改Hbase的 jar 包,使用hadoop的jar包

[hduser@node1 conf]$ mv /opt/module/hbase-2.4.18/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar /opt/module/hbase-2.4.18/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.bak

拷贝hadoop配置文件

由于hbase对hdfs有依赖关系,则需要将hadoop下的core-site.xml和hdfs-site.xml复制到hbase中的conf目录下

[hduser@node1 hbase-2.4.18]$ cp /opt/module/hadoop-3.2.4/etc/hadoop/core-site.xml /opt/module/hbase-2.4.18/conf/

[hduser@node1 hbase-2.4.18]$ cp /opt/module/hadoop-3.2.4/etc/hadoop/hdfs-site.xml /opt/module/hbase-2.4.18/conf/

图9

分发到node2和node3

[hduser@node1 module]$ xsync hbase/

图10

图11

3. 启动HBase

  • 进入HBase的安装目录,运行start-hbase.sh脚本启动HBase。

图12

  • 使用jps命令检查HBase是否成功启动,应能看到HMaster进程。

图13

图14

图15

群起脚本hbash.sh编写:

#/bin/bash

case $1 in
"start"){
    for i in node1 node2 node3
    do
      echo ---------------hbase $i启动------------------
          ssh $i "/opt/module/hbase-2.4.18/bin/start-hbase.sh start"
    done

}
;;
"stop"){
    for i in node1 node2 node3
    do
        echo ---------------hbase $i关闭------------------
        ssh $i "/opt/module/hbase-2.4.18/bin/stop-hbase.sh stop"
    done
};;


esac

Logo

更多推荐