大数据基础平台搭建-(四)HBbase集群HA+Zookeeper搭建

news2024/11/27 8:44:57

大数据基础平台搭建-(四)HBbase集群HA+Zookeeper搭建

大数据平台系列文章:
1、大数据基础平台搭建-(一)基础环境准备
2、大数据基础平台搭建-(二)Hadoop集群搭建
3、大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建
4、大数据基础平台搭建-(四)HBase集群HA+Zookeeper搭建

大数据平台是基于Apache Hadoop_3.3.4搭建的;
HBase集群部署采用HA高可用+完全分布式集群方式搭建

目录

  • 大数据基础平台搭建-(四)HBbase集群HA+Zookeeper搭建
  • 一、部署架构
  • 二、HBase集群节点分布情况
  • 三、HBase集群搭建前准备
    • 1、Hadoop集群搭建完成
    • 2、Zookeeper集群搭建完成
    • 3、各组件版本说明
  • 四、HBase集群搭建
    • 1、在hnode1上部署HBase-HMaster(主)
      • 1).解压安装包
      • 2).配置环境变量
      • 3).修改HBase的环境变量
      • 4).修改hbase-site.xml
      • 5).修改regionservers
      • 6).复制hadoop下的配置文件
    • 2、在hnode2上部署HBase-HMaster(备)
      • 1).从hnode1上复制hbase安装目录
      • 2).配置环境变量
    • 3、在hnode3上部署HBase-HRegionServer
      • 1).从hnode1上复制hbase安装目录
      • 2).配置环境变量
    • 4、在hnode4上部署HBase-HRegionServer
      • 1).从hnode1上复制hbase安装目录
      • 2).配置环境变量
    • 5、在hnode5上部署HBase-HRegionServer
      • 1).从hnode1上复制hbase安装目录
      • 2).配置环境变量
    • 6、在hnode1上配置HBase HA
    • 7、在hnode1上启动HBase HA集群
    • 8、一键启动、停止Zookeeper集群+Hadoop集群+HBase集群
    • 9、验证

一、部署架构

在这里插入图片描述

二、HBase集群节点分布情况

序号服务节点NameNode节点Zookeeper节点HMaster节点HRegionServer节点
1hNode1√ (主)√ (主)-
2hNode2√ (备)√ (备)-
3hNode3--
4hNode4---
5hNode5---

三、HBase集群搭建前准备

1、Hadoop集群搭建完成

参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建

2、Zookeeper集群搭建完成

参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建中的**【三、搭建Zookeeper集群】**部分

3、各组件版本说明

序号软件名称版本说明
1JDK1.8
2Hadoop3.3.4
3HBase3.8.0列式数据库
4Zookeeper2.4.15

四、HBase集群搭建

1、在hnode1上部署HBase-HMaster(主)

1).解压安装包

[root@hnode1 ~]# cd /opt/hadoop
[root@hnode1 hadoop]# tar -xzvf ./hbase-2.4.15-bin.tar.gz 

2).配置环境变量

[root@hnode1 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode1 hadoop]# source /etc/profile

3).修改HBase的环境变量

[root@hnode1 hadoop]# cd /opt/hadoop/hbase-2.4.15/conf
[root@hnode1 conf]# vim hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_271
#true表示用自带的zookeeper,false表示用外部Zookeeper服务
export HBASE_MANAGES_ZK=false
export HBASE_CLASSPATH=/opt/hadoop/hbase-2.4.15/conf

4).修改hbase-site.xml

[root@hnode1 hadoop]# vim /opt/hadoop/hbase-2.4.15/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/opt/hadoop/data/hbase</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://cluster/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hnode1:2181,hnode2:2181,hnode3:2181</value>
  </property>
</configuration>

5).修改regionservers

[root@hnode1 hadoop]# vim /opt/hadoop/hbase-2.4.15/conf/regionservers
hnode3
hnode4
hnode5

6).复制hadoop下的配置文件

需要将hadoop下的core-site.xml、hdfs-site.xml配置文件复制到hbase服务的conf目录下,否则通过hdfs://cluster/hbase连接hdfs服务时会报无法解析cluster主机

[root@hnode1 hadoop]# cd /opt/hadoop/hbase-2.4.15/conf/
[root@hnode1 conf]# cp /opt/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml ./
[root@hnode1 conf]# cp /opt/hadoop/hadoop-3.3.4/etc/hadoop/hdfs-site.xml ./

2、在hnode2上部署HBase-HMaster(备)

1).从hnode1上复制hbase安装目录

[root@hnode2 ~]# cd /opt/hadoop
[root@hnode2 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./

2).配置环境变量

[root@hnode2 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode2 hadoop]# source /etc/profile

3、在hnode3上部署HBase-HRegionServer

1).从hnode1上复制hbase安装目录

[root@hnode3 ~]# cd /opt/hadoop
[root@hnode3 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./

2).配置环境变量

[root@hnode3 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode3 hadoop]# source /etc/profile

4、在hnode4上部署HBase-HRegionServer

1).从hnode1上复制hbase安装目录

[root@hnode4 ~]# cd /opt/hadoop
[root@hnode4 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./

2).配置环境变量

[root@hnode4 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode4 hadoop]# source /etc/profile

5、在hnode5上部署HBase-HRegionServer

1).从hnode1上复制hbase安装目录

[root@hnode5 ~]# cd /opt/hadoop
[root@hnode5 hadoop]# scp -r root@hnode1:/opt/hadoop/hbase-2.4.15 ./

2).配置环境变量

[root@hnode5 hadoop]# vim /etc/profile
#HBase
export HBASE_HOME=/opt/hadoop/hbase-2.4.15
export PATH=$HBASE_HOME/bin:$PATH
[root@hnode5 hadoop]# source /etc/profile

6、在hnode1上配置HBase HA

在/opt/hadoop/hbase-2.4.15/conf目录下新增文件backup-masters,在文件中添加hnode2为备机

[root@hnode1 conf]# vim backup-masters

backup-masters配置文件中的内容

hnode2

7、在hnode1上启动HBase HA集群

前提是已正常Zookeeper集群和Hadoop集群

[root@hnode1 hadoop]# start-hbase.sh

通过在每个节点服务器上运行jps命令,在hnode1和hnode2上启动了HMaster服务,hnode3、hnode4、hnode5是HRegionServer服务则说明HBase集群启动成功

hnode1->HMaster (主)
在这里插入图片描述
hnode2->HMaster (备)
在这里插入图片描述
hnode3->HRegionServer
在这里插入图片描述
hnode4->HRegionServer
在这里插入图片描述
hnode5->HRegionServer
在这里插入图片描述

8、一键启动、停止Zookeeper集群+Hadoop集群+HBase集群

[root@hnode1 hadoop]# vim hadoop.sh

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "缺少参数..."
    exit ;
fi

case $1 in
"start")
        echo " ===================| 启动 Hadoop集群 | ==================="
        echo " -------------------| 启动 Zookeeper集群 | ---------------"
        ssh hnode1 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
        ssh hnode2 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"
        ssh hnode3 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start"

        echo " -------------------| 启动 HDFS      | ---------------"
        ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/start-dfs.sh"
        echo " -------------------| 启动 YARN      | ---------------"
        ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/start-yarn.sh"
        echo " -------------------| 启动 HistoryServer |---------------"
        ssh hnode2 "/opt/hadoop/hadoop-3.3.4/bin/mapred --daemon start historyserver"

        echo " -------------------| 启动 HBase集群 |---------------"
        ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/start-hbase.sh"
;;
"stop")
        echo " ===================| 关闭 Hadoop集群 |==================="
        echo " -------------------| 关闭 HBase集群 |---------------"
        ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/hbase-daemon.sh stop master"
        ssh hnode2 "/opt/hadoop/hbase-2.4.15/bin/hbase-daemon.sh stop master"
        ssh hnode1 "/opt/hadoop/hbase-2.4.15/bin/stop-hbase.sh"
        echo " -------------------| 关闭 HistoryServer |---------------"
        ssh hnode2 "/opt/hadoop/hadoop-3.3.4/bin/mapred --daemon stop historyserver"
        echo " -------------------| 关闭 YARN      | ---------------"
        ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/stop-yarn.sh"
        echo " -------------------| 关闭 HDFS      | ---------------"
        ssh hnode1 "/opt/hadoop/hadoop-3.3.4/sbin/stop-dfs.sh"
        echo " -------------------| 关闭 Zookeeper集群 | ---------------"
        ssh hnode1 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
        ssh hnode2 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"
        ssh hnode3 "/opt/zk/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop"

;;
*)
    echo "输入的参数错误..."
;;
esac

# 启动集群
[root@hnode1 hadoop]# ./hadoop.sh start
# 停止集群
[root@hnode1 hadoop]# ./hadoop.sh stop

9、验证

http://hnode1:16010和 http://hnode2:16010

HMaster(主)的状态信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HMaster(备)的状态信息
在这里插入图片描述

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

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

相关文章

Linux学习笔记——Nginx安装部署

5.3、Nginx安装部署 5.3.1、简介 Nginx&#xff08;engine x&#xff09;是一个高性能的HTTP和反向代理Web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。 同Tomcat一样&#xff0c;Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务&#xff0c;同时也可以作为…

二十七、Docker (3)

&#x1f33b;&#x1f33b; 目录一、java开发者Docker常用镜像容器创建&#xff08;本地&#xff09;1.1 资源上传1.2 还原部署1.2.1 部署jdk1.2.2 部署tomcat1.2.3 部署nginx1.2.4 部署mysql二、java开发者Docker常用镜像容器创建(官网拉取)2.1 jdk部署2.1.1 拉取jdk镜像2.1.…

verilog学习笔记- 7)verilog程序框架

目录 注释&#xff1a; 关键字&#xff1a; Verilog常用的关键字&#xff1a; 程序框架&#xff1a; 注释&#xff1a; Verilog HDL 中有两种注释的方式&#xff0c;一种是以“/*”符号开始&#xff0c;“*/”结束&#xff0c;在两个符号之间的语句都 是注释语句&#xff…

7-10 集合相似度

给定两个整数集合&#xff0c;它们的相似度定义为&#xff1a;Nc​/Nt​100%。其中Nc​是两个集合都有的不相等整数的个数&#xff0c;Nt​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 输出格式&#xff1a; 对每一对需要计算的集合&…

DaVinci:键 - 键混合器

调色页面&#xff1a;键Color&#xff1a;Key当选中一个键混合器节点时&#xff0c;键 Key调板上对应显示键混合器 Key Mixer的相关选项。键混合器节点默认有两个输入链接。可在键混合器节点上右击选择“添加”或“移除”一个输入。所有的输入链接和惟一的输出链接均可在键调板…

Elasticsearch在各大互联网公司大量真实的应用案例

国内现在有大量的公司都在使用 Elasticsearch&#xff0c;包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外&#xff0c;结合Kibana、Logstash、Beats&#xff0c;Elastic Stack还被广泛运用在大数据近实时分析领域&#xff0c;包括日志分…

SQL如何在数据库中执行

数据库的服务端&#xff0c;可分为执行器(Execution Engine) 和 存储引擎(Storage Engine) 两部分&#xff1a; 执行器负责解析SQL执行查询存储引擎负责保存数据 1 SQL如何在执行器中执行 # 查询用户ID大于50的用户的所有订单 SELECT u.id AS user_id, u.name AS user_name,…

详解回调函数

目录 前言 一、 实现一个简单的计算器 1.1 - 代码一 1.2 - 代码二 二、qsort 函数的介绍 三、改进冒泡排序函数 前言 回调函数就是一个通过函数指针调用的函数。如果把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其…

微信公众号调用扫一扫功能

手把手教你调用微信扫一扫&#xff0c;三分钟包会_前端人的博客-CSDN博客_调用微信扫一扫 第一次搞公众号&#xff0c;还以为跟上回调用企业微信扫一扫一样。。。调起扫一扫功能的过程自然是不同的&#xff0c;要注意的地方还挺多&#xff0c;记录一下 。 其实&#xff0c;在使…

2023最新网络安全自学路线,内容涵盖3-5年技能提升

前言 先预祝大家新年快乐&#xff01; 【一一帮助网络安全入门和提升点这里一一】 01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究…

改进MBR(操作显卡来输出字符)

文章目录前言前置知识mbr.S代码实验操作前言 本博客记录《操作系统真象还原》第二章第一个实验操作~ 实验环境&#xff1a;ubuntu18.04VMware &#xff0c; Bochs下载安装 实验内容&#xff1a;在屏幕上打印字符串【采用的方式是直接修改显存实现】 实验原因&#xff1a;mb…

Flutter性能优化

原理 Flutter的架构主要分成三层&#xff1a;Framework&#xff0c;Engine和Embedder Framework 使用 dart 实现&#xff0c;包括 Material Design 风格的Widget&#xff0c;Cupertino(针对iOS)风格的Widgets&#xff0c;UI/文本/图片/按钮等基础 Widgets&#xff0c;渲染&…

设计模式学习(一):Bridge桥接模式

一、什么是Bridge模式Bridge模式的作用是在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。1.1 类的功能层次结构主要作用就是增加新的功能。当我们要增加新的功能时&#xff0c;我们可以从各个层次的类中找出最符合自己需求的类&#xff0c;然后以它为父类编写子类…

(Week 10)最小生成树(C++,prim,Kruskal,并查集)

文章目录Einstein学画画&#xff08;C&#xff0c;欧拉路&#xff09;题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示解题思路&#xff1a;并查集&#xff08;C&#xff09;[蓝桥杯 2017 国 C] 合根植物&#xff08;C&#xff0c;并查集&#xff09;题目描述输入格…

基于Java+SpringBoot+vue+element实现校园闲置物品交易网站

基于JavaSpringBootvueelement实现校园闲置物品交易网站 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录基于JavaSpri…

Element UI 走马灯的使用

目录 走马灯是什么 原生js实现 Element UI的走马灯使用 el-carousel Carousel Events el-carousel-item 走马灯是什么 在有限空间内&#xff0c;循环播放同一类型的图片、文字等内容&#xff0c;走马灯也叫轮播图。 比如 原生js实现 JS实现轮播图效果&#xff08;同时…

mysql学习总结二

聚合函数 聚合函数表示对 值的集合 进行操作的 组&#xff08;集合&#xff09;函数。 # 华为手机价格的平均值 SELECT AVG(price) FROM products WHERE brand 华为; # 计算所有手机的平均分 SELECT AVG(score) FROM products; # 手机中最低和最高分数 SELECT MAX(score) FR…

SpringBoot解决全局和局部跨域问题的两种方式

前言 在如今前后端分离的开发模式下&#xff0c;跨域是一个非常经典的问题&#xff0c;解决的方式也有很多&#xff0c;比如代理服务器&#xff0c;使用JSONP 我之前也写过一篇解决跨域问题的文章&#xff0c;感兴趣的可以参考&#xff1a;解决Vue前后端跨域问题的多种方式 …

【现代机器人学】学习笔记九:运动规划

本节和前一节 【现代机器人学】学习笔记八&#xff1a;轨迹生成 不同&#xff0c;侧重于避障的内容。有一些我认为的重要的基本的概念&#xff1a;1.路径规划是一个纯几何问题&#xff0c;寻找一条无碰撞路径&#xff0c;不涉及动力学和时间相关内容。因此路径规划是运动规划的…

请查收 | 2022 阿里妈妈技术文章回顾

新年伊始&#xff0c;万象更新&#xff01;转眼&#xff0c;阿里妈妈技术已陪伴大家走过601天~在此&#xff0c;感谢每位读者朋友的支持与关注回顾2022&#xff0c;我们分享了60篇原创技术文章、发布了1本营销科学系列白皮书、开源了1项向量召回技术方案&#xff1b;阿里妈妈营…