目录

实验环境:

实验步骤:

〇、Zookeeper安装配置:

一、安装前注意事项

二、HBase安装

 三、Hbase集群配置

1.配置hbase-env.sh文件,位于Hbase安装目录/conf/

2.配置hbase-site.xml文件,位于Hbase安装目录/conf/

3.配置regionservers

4.新建 backup-masters文件,添加备份HMaster机器名

四、将配置好的Hbase分发到其他机器

五、分发、刷新环境变量

六、常用命令

七、浏览器web验证

八、注意事项


实验环境:

操作系统:Ubuntu 18.04

Hadoop版本:3.1.3

JDK版本:1.8

Zookeeper版本:3.7.1

HBase版本:2.2.2

实验步骤:

〇、Zookeeper安装配置:

(30条消息) Zookeeper安装配置_木子一个Lee的博客-CSDN博客

一、安装前注意事项

查看每台服务器的时间是否一致,检查HBASE集群每台服务器的时间是否是一致的,不然会导致集群启动异常:

timedatectl status

 

可以看出是一致的,如果不一致需要校准。

二、HBase安装

下载安装包hbase-2.2.2-bin.tar.gz

解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local

tar -zxvf ./hbase-2.2.2-bin.tar.gz -C /usr/local

改名:

cd /usr/local
mv hbase-2.2.2 hbase

配置系统环境

vim /etc/profile

添加:

export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin:/$HBASE_HOME/sbin

刷新环境变量

source /etc/profile

 三、Hbase集群配置

1.配置hbase-env.sh文件,位于Hbase安装目录/conf/

cd /usr/local/hbase/conf
vim hbase-env.sh

把最后一行的注释去除(解决hadoop和hbase的jar包冲突问题,为了不让hbase扫描hadoop的jar包),并且添加(第三条很重要!!!否则会出现地址占用、myid被改导致外部zookeeper启动失败等问题):

export JAVA_HOME=/usr/local/jdk
export HBASE_CLASSPATH=/usr/local/Hadoop
export HBASE_MANAGES_ZK=false

不用配置时区: 

export TZ=“Asia/Shanghai”(配置会造成日志文件时间早8个小时)

HBASE_CLASSPATH用于引导HBase找到Hadoop目录,一定要改成hadoop的目录,不然无法识别Hadoop集群名称

HBASE_MANAGES_ZK=true,则使用HBase自带的Zookeeper进行管理,只能实现单机模式,常用于测试环境,不能用于生产环境

设为false,启动独立的Zookeeper

建议:单机版HBase使用自带Zookeeper;集群安装HBase则采用单独Zookeeper集群

2.配置hbase-site.xml文件,位于Hbase安装目录/conf/

vim hbase-site.xml

添加: 

<configuration>
       <!--RegionServer 的共享目录,用来持久化 Hbase-->
       <property>
              <name>hbase.rootdir</name>
       <!-- 如果要指定HDFS上的目录,端口号要与hdfs-site.xml中设为一致-->
              <value>hdfs://master:9000/hbase</value>
       </property>
       <property>  <!--启用分布式集群-->
              <name>hbase.cluster.distributed</name>
              <value>true</value>
       </property>
       <property>   <!--默认HMaster HTTP访问端口-->
              <name>hbase.master.info.port</name>
              <value>16010</value>
       </property>
       <property>   <!--默认HRegionServer HTTP访问端口-->
              <name>hbase.regionserver.info.port</name>
              <value>16030</value>
       </property>
       <property>
              <name>hbase.zookeeper.quorum</name>
              <value>master:2181,slave1:2181,slave2:2181</value>
       </property>
<!--Zookeeper元数据快照的存储目录(需要和Zookeeper的zoo.cfg 配置文件中的属性一致)  -->
       <property>
              <name>hbase.zookeeper.property.dataDir</name>
              <value>/usr/local/zookeeper/data</value>
       </property>
<!-- 解决启动HMaster无法初始化WAL的问题 -->
       <property>
               <name>hbase.unsafe.stream.capability.enforce</name>
               <value>false</value>
       </property>
<!-- 备份的副本数(不会放在同一节点上),不能超过datanode的节点数。
            注意hadoop的hdfs-site.xml配置文件中也有dfs.replication这个参数,跟hbase-site.xml的dfs.replication参数是不同的,
            hbase的数据备份数需要再hbase-site.xml配置文件中单独设置!否则hbase写入的数据regionServer只会保存一份! -->
       <property>
              <name>dfs.replication</name>
              <value>2</value>
       </property>
<!--在hbase-site.xml文件中 修改增加 ,增大时间容错-->
       <property>
              <name>hbase.master.maxclockskew</name>
              <value>150000</value>
       </property>
</configuration>

3.配置regionservers

删除localhost

写入

slave1
slave2

4.新建 backup-masters文件,添加备份HMaster机器名

该文件不能写注释,启动时会把注释的那行当成服务器列表而导致启动失败:

vim backup-masters

设置备用master为slave1

四、将配置好的Hbase分发到其他机器

scp -r /usr/local/hbase root@slave1:/usr/local/
scp -r /usr/local/hbase root@slave2:/usr/local/

五、分发、刷新环境变量

cd
scp -r /etc/profile root@slave1:/etc
scp -r /etc/profile root@slave2:/etc

然后在每个服务器上刷新环境变量:

source /etc/profile

六、常用命令

查看版本信息:

hbase version

启动(master机器)/*要先启动zookeeper和Hadoop

start-hbase.sh

master有HMaster,备用节点slave1有HRegionserver和HMaster

slave2有HRegionserver

关闭    /*先关闭HBase再关闭Hadoop

stop-hbase.sh 

启动某一个节点

hbase-daemon.sh start regionserver

启动所有节点

hbase-daemons.sh start regionserver

七、浏览器web验证

http://master:16010/master-status

http://slave1:16030/rs-status

http://slave2:16030/rs-status

八、注意事项

HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。
以下先决条件很重要,如未配置JAVA_HOME环境变量,会报错。

– JDK
– Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
– SSH

启动关闭Hadoop和HBase的顺序一定是:

启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐