HBase 高可用集群详细图文安装部署

目录

一、HBase 安装部署

1.1 Zookeeper 正常部署

1.2 Hadoop 正常部署 

1.3 HBase 安装 

1.4 HBase 的配置文件 

1.4.1 hbase-env.sh 

1.4.2 hbase-site.xml

1.4.3 regionservers 

1.4.4 创建目录

1.5 HBase 远程发送到其他节点

1.6 HBase 服务的启动 

1.6.1 单点启动(推荐)

1.6.2 群启

1.6.2 停止服务

1.7 查看 HBase 页面 

1.8 高可用(推荐)

二、HBase 集群扩缩容


  • jdk 版本的支持参考: Apache HBase ™ Reference Guide
  • 与 hadoop 的版本对应参考: Apache HBase ™ Reference Guide (向下滑到 4.1 章节)

一、HBase 安装部署

主机名称IP资源部署角色
hadoop01192.168.170.1362cpu 4Gmaster、regionserver
hadoop02192.168.170.1372cpu 4Gmaster、regionserver
hadoop03192.168.170.1382cpu 4Gregionserver

1.1 Zookeeper 正常部署

首先保证 Zookeeper 集群的正常部署,并启动之。

安装教程:【Zookeeper 初级】02、Zookeeper 集群部署-CSDN博客

1.2 Hadoop 正常部署 

Hadoop 集群的正常部署并启动。

安装教程:Hadoop YARN HA 集群安装部署详细图文教程_hadoop yarn部署-CSDN博客

1.3 HBase 安装 

HBase 官方下载地址:Apache Download Mirrors

(base) [root@hadoop01 ~]# ls
hbase-2.5.6-bin.tar.gz# 解压 Hbase 到指定目录
(base) [root@hadoop01 ~]# tar -zxvf hbase-2.5.6-bin.tar.gz -C /bigdata/
(base) [root@hadoop01 ~]# cd /bigdata/
(base) [root@hadoop01 /bigdata]# mv hbase-2.5.6 hbase# 配置环境变量
(base) [root@hadoop01 /bigdata]# vim /etc/profile
# hbase
export HBASE_HOME=/bigdata/hbase
export PATH=$PATH:$HBASE_HOME/bin# 使用 source 让配置的环境变量生效
(base) [root@hadoop01 /bigdata]# source /etc/profile

1.4 HBase 的配置文件 

1.4.1 hbase-env.sh 

[root@hadoop01 /bigdata]# cd /bigdata/hbase/conf/
[root@hadoop01 /bigdata/hbase/conf]# vim hbase-env.sh # 关闭 hbase 自带zk,使用自己搭建的 zookeeper 集群
export HBASE_MANAGES_ZK=false
# 设定 hbase 的内存为 2G,生产环境中可开启设置
#export HBASE_HEAPSIZE=2G
# 增加系统环境配置, 必须在/etc/profile定义JAVA_HOME
source /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_381
# 存放 PID 文件的目录
export HBASE_PID_DIR=/bigdata/hbase/pids
# 避免 master 启动报错类冲突
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

1.4.2 hbase-site.xml

[root@hadoop01 /bigdata/hbase/conf]# vim hbase-site.xml
<!-- hbase 在 hdfs 中的存储位置, 如果 hdfs 是 ha 模式, 那就把 hadoop01 换成逻辑集群名(比如我的是 mycluster,可在你的 hadoop 配置文件 core-site.xml 查看) 并且创建 hdfs-site.xml 软连接 --><!-- hbase 在 hdfs 中的存储位置 --><property><name>hbase.rootdir</name><value>hdfs://hadoop01/hbase</value></property><!-- 开启 hbase 的全分布式 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- zookeeper 的端口号 --><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property><!-- zookeeper 集群的主机名 --><property><name>hbase.zookeeper.quorum</name><value>hadoop01,hadoop02,hadoop03</value></property><!-- hbase 的临时文件存储路径 --><property><name>hbase.tmp.dir</name><value>/bigdata/hbase/tmpdata</value></property><!-- 开启配置防止 hmaster 启动问题 --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><!-- 监控页面端口 --><property><name>hbase.master.info.port</name><value>60010</value></property>

1.4.3 regionservers 

[root@hadoop01 /bigdata/hbase/conf]# vim regionservers 
hadoop01
hadoop02
hadoop03

1.4.4 创建目录

[root@hadoop01 ~]# mkdir -p /bigdata/hbase/tmpdata# 如果 hadoop 是集群模式(HA 模式),则执行以下步骤
(base) [root@hadoop01 ~]# ln -s /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/core-site.xml /bigdata/hbase/conf/core-site.xml
(base) [root@hadoop01 ~]# ln -s /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/hdfs-site.xml /bigdata/hbase/conf/hdfs-site.xml

1.5 HBase 远程发送到其他节点

[root@hadoop01 ~]# scp -r /bigdata/hbase 192.168.170.137:/bigdata/hbase
[root@hadoop01 ~]# scp -r /bigdata/hbase 192.168.170.138:/bigdata/hbase# 并修改 /etc/profile 环境变量(其他节点),同 1.3 的步骤一样

1.6 HBase 服务的启动 

1.6.1 单点启动(推荐)

# 只启动本节点 master
hbase-daemon.sh start master# 启动所有从节点
hbase-daemon.sh start regionserver

1.6.2 群启

# 只启动本机器的 master 和所有机器的从节点, 不推荐, 推荐使用 daemon 脚本
start-hbase.sh[root@hadoop01 ~]# jps
1264 RunJar
2512 JournalNode
1442 RunJar
2212 DataNode
2789 DFSZKFailoverController
3189 ResourceManager
1734 QuorumPeerMain
3382 NodeManager
7368 HMaster
2028 NameNode
7614 HRegionServer
7711 Jps

1.6.2 停止服务

# 只停止本节点的 master 和所有节点的 regionserver
stop-hbase.sh

1.7 查看 HBase 页面 

启动成功后,可以通过 “192.168.170.136:60010” 的方式来访问 HBase 管理页面,例如:

1.8 高可用(推荐)

        在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载,如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。

# 可以随意选择任意一个节点作为 Backup Master,这里我以 hadoop02节点
(base) [root@hadoop02 /bigdata/hbase/conf]# hbase-daemon.sh start master
(base) [root@hadoop02 /bigdata/hbase/conf]# jps
1570 DataNode
35123 Jps
1701 JournalNode
34694 HRegionServer
1865 DFSZKFailoverController
2009 ResourceManager
2121 NodeManager
1338 QuorumPeerMain
1466 NameNode
35050 HMaster

访问 Backup Master 页面:192.168.170.137:60010

刷新 hadoop01 页面:

至此 HBase 高可用集群部署完毕! 

二、HBase 集群扩缩容

在新节点初始化并拷贝安装目录。

# 在新节点启动 master
hbase-daemon.sh start regionserver# 修改各节点的 conf/regionservers,增加新节点的 ip
vi conf/regionservers# 进入 hbase shell, 开启重新分配 region 数据, 这是hbase的一个周期性工作, 默认 5 分钟
hbase shell
balance_switch true# 执行命令查看当前 hbase 的负载均衡 balance 是否开启
# 注意这个命令没有写错, 不是 balance_switch status, status 是将 balance 状态强制转换为 false
balancer_enabled# 立即进行一次均衡操作
# 当前各节点的 region 数量可以在前端页面查看
balancer

上一篇文章:HBase 详细图文介绍-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分类预测 | Matlab实现HPO-GRU【23年新算法】基于猎食者优化算法优化门控循环单元的数据分类预测

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】 目录 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】分类效果基本描述程序设计参考资料 分类效果 基本描述 1.HPO-GRU【23年新算法】基于猎食者优化算法优…

【电子取证:FTK IMAGER 篇】DD、E01系统镜像动态仿真

​ 文章目录 【电子取证&#xff1a;FTK Imager 篇】DD、E01系统镜像动态仿真一、DD、E01系统镜像动态仿真 &#xff08;一&#xff09;使用到的软件 1、FTK Imager (v4.5.0.3)2、VMware Workstation 15 Pro (v15.5.2)&#xff08;二&#xff09;FTK Imager 挂载镜像 1、选择 …

学习深度强化学习---第3部分----RL蒙特卡罗相关算法

文章目录 3.1节 蒙特卡罗法简介3.2节 蒙特卡罗策略评估3.3节 蒙特卡罗强化学习3.4节 异策略蒙特卡罗法 本部分视频所在地址&#xff1a;深度强化学习的理论与实践 3.1节 蒙特卡罗法简介 在其他学科中的蒙特卡罗法是一种抽样的方法。 如果状态转移概率是已知的&#xff0c;则是…

vue的computed中的getter和setter

vue的computed中的getter和setter 定义getter写法setter写法 定义 computed 中可以分成 getter&#xff08;读取&#xff09; 和 setter&#xff08;设值&#xff09;&#xff0c;一般情况下是没有 setter 的&#xff0c;computed 预设只有 getter&#xff0c;也就是只能读取&a…

ajax和Axios快速入门

什么是ajax 概念&#xff1a; Asynchronous JavaScript And XML&#xff0c;异步的JavaScrip和XML&#xff0c;重点在异步。 作用&#xff1a; 1&#xff0c;数据交互&#xff0c;可以通过ajax给服务器发送请求&#xff0c;并获取服务器响应的数据。 2&#xff0c;异步交互&am…

基于Leaflet的Webgis经纬网格生成实践

目录 前言 一、Leaflet.Graticule 1、参数说明 二、集成使用 1、新建网页模板 2、初始化地图对象 3、运行效果 三、源码调用分析 1、参数注入 2、经纬网构建 总结 前言 众所周知&#xff0c;在地球仪上或地图上&#xff0c;经线和纬线相互交织&#xff0c;就构成经纬…

两线制输入馈电型隔离变送器

两线制输入馈电型隔离变送器 产品型号&#xff1a;JSD TA-1021系列 馈电型隔离变送器产品介绍&#xff1a; JSD TA-1021 为两线制输入馈电型高精度隔离变送器&#xff0c;是将输入与输出之间电气绝缘的模拟信号量进行变换、放大、隔离及远传的小型仪表设备&#xff0c;接收仪表…

nodejs项目设置全局变量(global)

文章目录 前言一、使用global二、解决type typeof globalThis has no index signature.ts问题1、新建 /types/global.d.ts文件2、或者直接在入口文件/src/index.ts定义 三、最终效果鼠标放在global上&#xff0c;可显示global的类型生效了~ ![在这里插入图片描述](https://img-…

C语言小游戏之三子棋(可以做期末设计作业)

哈喽大家好&#xff0c;今天为大家带来一个用C语言写的小游戏--三子棋&#xff0c;就是大家小时候用树枝和石子玩的那种游戏&#xff0c;这个小项目可以用于大家的C语言期末设计作业&#xff0c;不会很难&#xff0c;都是C语言基本的操作 下面是游戏截图&#xff1a; 完全可以…

CV计算机视觉每日开源代码Paper with code速览-2023.12.8

点击计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【显著目标检测】Texture-Semantic Collaboration Network for ORSI Salient Object Detection 论文地址&#xff1a;https://arxiv.org//pdf/…

Linux 定时器

文章目录 alarm() 函数实现定时功能setitimer() 函数实现定时功能 alarm() 函数实现定时功能 alarm()函数的签名如下&#xff1a; #include <unistd.h> unsigned int alarm(unsigned int seconds);参数1 是你想定时的秒数。 返回值是在你调用这个函数的时刻&#xff0…

LeetCode 123买卖股票的最佳时机-iii 188买卖股票的最佳时机-iv | 代码随想录25期训练营day50

动态规划算法8 LeetCode 123 买卖股票的最佳时机-iii 2023.12.13 题目链接代码随想录讲解[链接] int maxProfit(vector<int>& prices) {//1确定dp二维数组//dp[i][0]表示遍历到第i天时第一次持有股票的当前收入;dp[i][1]表示遍历到第i天时第一次未持有股票的当前…

uniapp用picker实现自定义三级联动(children)

数据大概得结构&#xff1a; html: <view class"invite"><u-cell title"点击选则" isLink :value"value" click"showstrue"></u-cell><u-picker :show"shows" ref"uPicker" :columns"…

【Hadoop】Hadoop基础架构的变化

1.x版本架构2.x版本架构3.x版本架构参考 1.x版本架构 NameNode&#xff1a;&#xff0c;负责文件系统的名字空间(Namespace)管理以及客户端对文 件的访问。NameNode负责文件元数据的管理和操作。是单节点。 Secondary NameNode&#xff1a;它的职责是合并NameNode的edit logs到…

参数学习——糖果问题(人工智能期末复习)

之前看了好久都不知道这题咋写&#xff0c;后来看了这篇机器智能-高频问题&#xff1a;糖果问题&#xff0c;大概看明白了&#xff0c;其实主要围绕着这两个公式 光看公式也看不懂&#xff0c;还是要结合题目来 己知有草莓味和酸橙味两种类型的糖果&#xff0c;分别放入5种不同…

I.MX RT1170双核学习(2):双核相互激活和启动流程

RT1170这个芯片带有双核&#xff1a;Cortex-M7和Corterx-M4&#xff0c;两个核都可以独立地运行&#xff0c;当然双核也可以同时运行。在上一篇文章中&#xff0c;介绍了一下在RT1170中消息模块MU的使用&#xff1a;双核通信之MU消息单元详解&#xff0c;因为这是双核之间用来通…

跟小德学C++之代码目录

嗨&#xff0c;大家好&#xff0c;我是出生在达纳苏斯的一名德鲁伊&#xff0c;我是要立志成为海贼王&#xff0c;啊不&#xff0c;是立志成为科学家的德鲁伊。最近&#xff0c;我发现我们所处的世界是一个虚拟的世界&#xff0c;并由此开始&#xff0c;我展开了对我们这个世界…

SQL进阶理论篇(二):数据库的设计范式

文章目录 简介数据库的设计范式有哪些数据库中的几种键从1NF到3NF1NF2NF3NFBCNF&#xff08;巴斯范式&#xff09; 反范式设计反范式的适用场景总结参考文献 简介 本小节主要内容&#xff1a; 数据库的设计范式都有哪些数据库的键都有哪些1NF、2NF和3NF都是指什么&#xff1f…

STM32的DMA的五大问题

1&#xff0c;DMA控制器的内部结构 STM32中的DMA控制器是一种用于在外设和存储器之间传输数据的专用硬件。DMA控制器的内部结构主要包括以下几个关键部分&#xff1a; 通道&#xff1a; DMA控制器可以有多个通道&#xff0c;每个通道独立管理一个数据传输任务。通道的数量取决于…

一进一出两线制(三线制)模拟量高速信号(50KHz)隔离变送器

一进一出两线制(三线制)模拟量高速信号(50KHz)隔离变送器 型号&#xff1a;JSD TA-2311F系列 产品特点&#xff1a; ◆小体积,低成本,标准 DIN35mm 导轨安装方式 ◆三端隔离(输入、输出、工作电源间相互隔离) ◆高速信号采集,隔离等(-3dB,Min≤ 3.5 uS) ◆高精度等级(0.1% F.S&…