HBase的数据存储在Hadoop上,而ZooKeeper负责HMaster选举与主备切换、系统容错、RootRegion管理、Region状态管理等,所以安装HBase首先需要安装Hadoop和ZooKeeper。
        我们本次使用的是CentOS7、Hadoop3.3.1、ZooKeeper3.4.6、HBase2.4.8(Hbase3正式版尚未发布,2.4.8是目前2021年最新版)

本次规划如下面所示的三个结点,为了节省资源,在三个节点上安装Hadoop和ZooKeeper以及HBase,其中hp1为主结点。

主机名 IP地址
hp1 192.168.150.101
hp2 192.168.150.102
hp3 192.168.150.103

其中安装Hadoop请参见本博客专门文章:
Hadoop3.3.1详细教程
其中安装Zookeeper请参见本博客专门文章:
ZooKeeper3.4.6分布式环境搭建

以下是安装Hbase步骤:
1,下载HBase2.4.8上传到服务器hp1的/apps目录下

2, 解压HBase到 /usr/local

tar -zxvf /apps/hbase-2.4.8-bin.tar.gz -C /usr/local

3,为Hbase创建软连接

ln -s /usr/local/hbase-2.4.8 /usr/local/hbase2

4,配置环境变量

vi/etc/profile.d/hbase.sh
export HBASE_HOME=/usr/local/hbase2
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile.d/hbase.sh

5,修改配置文件:

HBase的配置文件都在这个文件夹下:

/usr/local/hbase-2.4.8/conf

hbase-env.sh:
打开源文件中的以下两条注释,并替换值:

#配置Java环境变量
export JAVA_HOME=${JAVA_HOME}
#关闭hbase自带的zookeeper
export HBASE_MANAGES_ZK=false

hbase-site.xml:

<configuration><!--  此目录regionserver共享的目录,用来持久存储HBase的数据,其默认值为:${hbase.tmp.dir}/hbase,如果不修改默认值,数据将会在集群重启时丢失。 --><property><name>hbase.rootdir</name><!-- 设置Hadoop master--><value>hdfs://hp1:9000/hbase</value></property><!-- 设置hbase集群为分布式集群 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- 设置zookeeper集群,用英文逗号分隔 --><property><name>hbase.zookeeper.quorum</name><value>hp1:2181,hp2:2181,hp3:2181</value></property><!-- hbase备份的副本数,不能超过datanode的节点数。hbase的数据备份数需要再hbase-site.xml配置文件中单独设置,否则hbase写入的数据regionServer只会保存一份! --><property><name>dfs.replication</name><value>2</value></property><!-- Zookeeper元数据的存储目录,需要和Zookeeper的zoo.cfg 配置的一致 --><property><name>hbase.zookeeper.property.dataDir</name><value>/zk_data/data</value></property><!-- 指定HBase Master Web页面访问端口,默认端口号16010 --><property><name>hbase.master.info.port</name><value>16010</value></property><!-- 指定HBase RegionServer Web页面访问端口,默认端口号16030 --><property><name>hbase.regionserver.info.port</name><value>16030</value></property><!-- 解决启动HMaster无法初始化WAL的问题 --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>hbase.wal.provider</name><value>filesystem</value></property>
</configuration>

打开regionservers文件,配置regionserver所在的主机:

hp2
hp3

6,将hp1配置好的远程复制到hp2、hp3

将/usr/local/hbase-2.4.8远程复制到hp2、hp3
将/etc/profile.d/hbase.sh远程复制到hp2、hp3
分别在hp2、hp3中建立hbase2的软连接,并使hbase的环境变量生效

7,测试
启动Hadoop集群,并分别在三台机子上启动ZooKeeper
启动HBase集群

start-hbase.sh

在hp1上查看jps:

在hp2上查看、在hp3 上查看,效果一致:

通过hbase提供的hbase-webapp可以通过浏览器访问看到web UI

8,关闭集群:

stop-hbase.sh

如果无法正常关闭,可以尝试分别关闭Master、RegionServer,命令如下:

hbase-daemons.sh stop master
hbase-daemons.sh stop regionserver

关闭ZooKeeper、关闭Hadoop。

HBase2.4.8详细教程(一)HBase环境搭建相关推荐

  1. 五部搞定Android开发环境部署——费UC噶不过详细的Android开发环境搭建教程

     五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立 ...

  2. 强化学习快餐教程(1) - gym环境搭建

    强化学习快餐教程(1) - gym环境搭建 欲练强化学习神功,首先得找一个可以操练的场地. 两大巨头OpenAI和Google DeepMind都不约而同的以游戏做为平台,比如OpenAI的长处是DO ...

  3. HBase环境搭建与基本使用(保姆级教程)

    HBase 2.x环境搭建与基本使用 一.HBase简介 数据模型 系统架构 二.HBase伪分布式配置 0. 准备工作 1. HBase配置文件介绍 2. HBase安装与伪分布配置 1)安装HBa ...

  4. 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程(转)

    引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的 ...

  5. linux php环境搭建 图文教程,linux php环境搭建教程

    1) 安装依赖包yum -y install wget vim pcre pcre-devel openssl openssl-devel \libicu-devel gcc gcc-c++ auto ...

  6. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  7. HBase环境搭建60010端口无法访问问题解决方案

    一.环境配置说明 首先需要搭建Hadoop 环境 (本人Hadoop环境相关信息如下: version : 1.1.2 模式:伪分布模式 ) HBase的版本:0.94.2 JDK版本:1.6 Lin ...

  8. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建

    文章目录 本话概要 前端 前端整体需求 前端组件树 前端环境搭建 后端 后端整体需求 后端技术路线 后端环境搭建 下期预告 本话概要 这一篇博文主要从整体的角度,概述整个文件共享平台前.后端的需求.技 ...

  9. linux php环境搭建教程,linux php环境搭建教程

    linux php环境搭建的方法:首先获取相关安装包:然后安装Apache以及mysql:接着修改配置文件"httpd.conf":最后设置环境变量和开机自启,并编译安装PHP即可 ...

最新文章

  1. numpy输出到屏幕时有逗号和没逗号的原因
  2. CodeForces - 1267K Key Storage(组合数学)
  3. java ee 上传文件_17.《JavaEE 学习笔记》Servlet 上传文件
  4. sequelize模型关联_关于Sequelize连接查询时inlude中model和association的区别详解
  5. Java 内存 关系_发生在Java内存模型中的关系之前
  6. Python字典中 get() 函数的使用
  7. python配置环境是干啥的_Python配置环境
  8. 结果不对_男子去医院抽血体检,拿到化验单发现不对劲,医院:医生专业不精...
  9. Matlab之程序的暂停与中止
  10. 中国全电动注塑机行业发展趋势及未来需求前景预测报告(2022-2027年)
  11. celeste实用技巧(第2弹)
  12. C# 基础(三十一)c#实现 正弦sin、反正弦arcsin,正切tan、反正切arctan:求角度值
  13. 一锁知千秋,再和腾讯大佬的技术对话,我还是小看锁了!面试加分的答案都已安排
  14. 【揭秘恒大老总许家印】迄今为止最深度、全面的
  15. 计算机网红哥,IT男网红哥怒砸电脑最新消息 或将被提供直播间(图)
  16. 完整的js写的省市级的程序
  17. 应用层: HTTP 与 HTTPS协议
  18. “你已被移出穷人群”
  19. 设计用于汽车和车身SPC58NH92C3RMI0X\SPC560B50L1B4E0X微控制器
  20. 51单片机ADD,ADDC与SUBB指令详细分析

热门文章

  1. 我心里优秀架构师是怎样的?
  2. WeChat Patch 电脑微信多开消息防撤回补丁通用版
  3. 关于Python中的引用
  4. 三方协议,劳动合同,劳务合同的区别
  5. 情侣纪念日网站html5源码教程
  6. 呼叫中心系统座席助手的发展历史
  7. egg extend ts_NAS初体验—威联通TS-451D - jingkunliu
  8. 华东理工大学的计算机系,华东理工大学计算机系介绍
  9. 分布式学习之一:事务
  10. OpenAI Whisper探索(一)