openEuler24.03 LTS下安装HBase集群

news2025/4/25 23:32:27

前提条件

  • 安装好Hadoop完全分布式集群,可参考:openEuler24.03 LTS下安装Hadoop3完全分布式

  • 安装好ZooKeeper集群,可参考:openEuler24.03 LTS下安装ZooKeeper集群

HBase集群规划

node2node3node4
MasterBackup Master
RegionServerRegionServerRegionServer

版本匹配查询

HBase与JDK版本

https://hbase.apache.org/book.html#java

在这里插入图片描述

HBase与Hadoop版本

https://hbase.apache.org/book.html#hbase.versioning

在这里插入图片描述

综合来看,hbase2.5.x对JDK8和Hadoop3.3.4都兼容,具体选择hbase2.5.3。

下载HBase

浏览器访问如下地址下载HBase安装包

https://archive.apache.org/dist/hbase/2.5.3/hbase-2.5.3-bin.tar.gz

上传到Linux的/opt/software目录

[liang@node2 software]$ ls | grep hbase
hbase-2.5.3-bin.tar.gz

解压

解压

[liang@node2 software]$ tar -zxvf hbase-2.5.3-bin.tar.gz -C /opt/module/

查看解压后文件

[liang@node2 software]$ cd /opt/module/
[liang@node2 module]$ ls | grep hbase
hbase-2.5.3
[liang@node2 module]$ cd hbase-2.5.3/
[liang@node2 hbase-2.5.3]$ ls
bin         conf  hbase-webapps  lib          NOTICE.txt  RELEASENOTES.md
CHANGES.md  docs  LEGAL          LICENSE.txt  README.txt
[liang@node2 hbase-2.5.3]$ pwd
/opt/module/hbase-2.5.3

设置环境变量

环境变量

[liang@node2 hbase-2.5.3]$ sudo vim /etc/profile.d/my_env.sh

添加内容

#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.5.3
export PATH=$PATH:$HBASE_HOME/bin

让环境变量生效

[liang@node2 hbase-2.5.3]$ source /etc/profile

配置hbase

配置hbase-env.sh

[liang@node2 hbase-2.5.3]$ cd $HBASE_HOME/conf/
[liang@node2 conf]$ vim hbase-env.sh

修改如下两个地方:

(1)去掉export HBASE_MANAGES_ZK=false一行前面的#注释,值修改为false

export HBASE_MANAGES_ZK=false

(2)去掉export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"一行前面的#号注释。

export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

在这里插入图片描述

配置hbase-site.xml

[liang@node2 conf]$ vim hbase-site.xml

删除原有配置内容,添加如下配置

    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node2,node3,node4</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://node2:8020/hbase</value>
    </property>
    <!-- 在分布式的情况下一定要设置,不然容易出现Hmaster起不来的情况 -->
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>

配置regionservers

[liang@node2 conf]$ vim regionservers

内容修改为如下主机名

node2
node3
node4

配置Master高可用

Master存在单点故障问题,生产环境有必要配置Master高可用,配置方法如下:

创建backup-masters文件

[liang@node2 conf]$ vim backup-masters

内容如下

node3

把node3当作HBase的备份Master。

分发到其他机器

分发安装包

[liang@node2 conf]$ xsync /opt/module/hbase-2.5.3

分发环境变量

sudo /home/liang/bin/xsync /etc/profile.d/my_env.sh

根据提示输入node2机器root账户的登录密码

分别让node3及node4的环境变量生效

[liang@node3 ~]$ source /etc/profile
[liang@node4 ~]$ source /etc/profile

启动集群

先启动hadoop和zookeeper,再启动hbase,注意这个启动顺序,否则会造成没有HMaster

[liang@node2 conf]$ hdp.sh start
[liang@node2 conf]$ zk.sh start
[liang@node2 conf]$ start-hbase.sh

jps查看进程

[liang@node2 conf]$ jpsall

结果

=============== node2 ===============
10112 HMaster
9426 NodeManager
8789 NameNode
10715 Jps
4173 QuorumPeerMain
10349 HRegionServer
9726 JobHistoryServer
8991 DataNode
=============== node3 ===============
5636 DataNode
6036 NodeManager
6868 HMaster
7205 Jps
5894 ResourceManager
3511 QuorumPeerMain
6652 HRegionServer
=============== node4 ===============
3216 QuorumPeerMain
5072 SecondaryNameNode
5666 HRegionServer
5284 NodeManager
5940 Jps
4902 DataNode

查看Web UI

浏览器查看Web UI界面

node2:16010

在这里插入图片描述

简单使用

# 进入hbase shell命令行
[liang@node2 conf]$ hbase shell

# 创建表
hbase:001:0> create 't1','f1','f2'

# 查看表
hbase:002:0> list

# 退出hbase shell命令行
hbase:004:0> quit

操作过程

[liang@node2 conf]$ hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.5.3, rd385524561f771dcb402905c2bdcaeb4a8fecbdb, Wed Feb  1 09:01:02 UTC 2023
Took 0.0025 seconds
hbase:001:0> create 't1','f1','f2'
Created table t1
Took 2.7209 seconds
=> Hbase::Table - t1
hbase:002:0> list
TABLE
t1
1 row(s)
Took 0.0205 seconds
=> ["t1"]
hbase:003:0> quit
[liang@node2 conf]$

过程问题记录及解决

建表报错日志

hbase:002:0> create 'stu','info'

ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
        at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2821)
        at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1205)
        at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:359)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:339)



查看hbase-liang-master-node2.log日志文件警告如下:
WARN  [RS-EventLoopGroup-1-2] concurrent.DefaultPromise: An exception was thrown by org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$4.operationComplete()
java.lang.IllegalArgumentException: object is not an instance of declaring class
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

成功解决步骤:

关闭进程:stop-hbase.sh关不掉进程,手动kill hbase进程

删除hdfs的/hbase目录

hdfs dfs -rm -r /hbase

删除zookeeper的/hbase

zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[hbase, kafka, zookeeper]
[zk: localhost:2181(CONNECTED) 3] deleteall /hbase
[zk: localhost:2181(CONNECTED) 4] ls /
[kafka, zookeeper]
[zk: localhost:2181(CONNECTED) 5] quit

删除hbase logs文件

[liang@node2 module]$ same.sh rm -rf $HBASE_HOME/logs

修改hbase-env.sh

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

取消export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"一行开头的注释(解决问题关键语句

在这里插入图片描述

验证

[liang@node1 hbase-2.4.11]$ hbase shell
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
SLF4J: Defaulting to no-operation MDCAdapter implementation.
SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.4.11, r7e672a0da0586e6b7449310815182695bc6ae193, Tue Mar 15 10:31:00 PDT 2022
Took 0.0017 seconds
hbase:001:0> list
TABLE
0 row(s)
Took 0.3598 seconds
=> []
hbase:002:0> create 't1','f1'
Created table t1
Took 2.2108 seconds
=> Hbase::Table - t1
hbase:003:0>

退出

[liang@node1 conf]$ stop-hbase.sh
stopping hbase..........
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[liang@node1 conf]$ 

均提示缺少日志是实现,因为之前重命名了日志文件,把日志文件改回来就好了。

mv /opt/module/hbase-2.4.11/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.bak /opt/module/hbase-2.4.11/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar

进入hbase shell测试

[liang@node1 conf]$ hbase shell
2025-03-21 17:16:53,325 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.4.11, r7e672a0da0586e6b7449310815182695bc6ae193, Tue Mar 15 10:31:00 PDT 2022
Took 0.0014 seconds
hbase:001:0> create 't2','f1','f2'
Created table t2
Took 0.9881 seconds
=> Hbase::Table - t2
hbase:002:0> list
TABLE
t1
t2
2 row(s)
Took 0.0188 seconds
=> ["t1", "t2"]
hbase:003:0> quit
[liang@node1 conf]$

关闭HBase

先关闭hbase,再关闭zookeeper和hadoop

[liang@node2 conf]$ stop-hbase.sh
[liang@node2 conf]$ zk.sh stop
[liang@node2 conf]$ hdp.sh stop

如有需要,可点击查看:配套视频教程

完成!enjoy it!

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

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

相关文章

关于testng.xml无法找到类的问题

问题&#xff1a;testng.xml添加测试类的时候飘红 解决办法&#xff1a; 1.试图通过自动生成testng.xml插件去解决&#xff0c;感觉也不是这个问题&#xff0c;没有尝试&#xff1b; 2.以为是创建包的方式不对&#xff0c;重新删除后新建--还是找不到 想新建类的时候发现从m…

数据结构:探秘AVL树

本节重点 理解AVL树的概念掌握AVL树正确的插入方法利用_parent指针正确更新平衡因子掌握并理解四种旋转方式&#xff1a;左单旋&#xff0c;右单旋&#xff0c;左右双旋&#xff0c;右左双旋 一、AVL树的概念 AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis&…

Linux 入门:基础开发工具(上)vim,gcc/g++,make/makefile

目录 一.软件包管理器 一&#xff09;.软件包 二&#xff09;.安装软件 三&#xff09;.删除软件 二.编辑器vim 一&#xff09;.vim的基本介绍 1.正常/普通/命令模式(Normal mode) 2.插入模式(Insert mode) 3.底行模式(last line mode) 二&#xff09;.vim的基本操作 …

5、无线通信基站的FPGA实现架构

基站&#xff08;Base Station&#xff0c;BS&#xff09;&#xff0c;也称为公用移动通信基站&#xff0c;是无线电台站的一种形式&#xff0c;具体则指在一定的无线电覆盖区中&#xff0c;通过移动通信交换中心&#xff0c;与移动电话终端之间的信息传递的无线电收发信电台。…

Linux2 CD LL hostnamectl type mkdir dudo

查看主机名信息 设置静态主机名 同时配置静态、瞬时主机名 下载Vmware tools https://blog.csdn.net/qq_34638161/article/details/102779721 mkdir创建目录 问题&#xff1a;为什么在root目录下 看不到 /var /usr那些文件夹

Docker容器部署Java项目的自动化脚本(Shell编写)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Docker容器部署Java项目的自动化脚本&#x…

STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出

目录 前言 输出时的GPIO控制部分 标准库是如何操作寄存器完成GPIO驱动的初始化的&#xff1f; 问题1&#xff1a;如何掌握GPIO的编程细节——跟寄存器如何打交道 问题2&#xff1a;哪些寄存器&#xff0c;去哪里找呢&#xff1f; 问题三&#xff0c;寄存器的含义&#xff…

UniApp集成极光推送详细教程

最近项目要集成推送服务&#xff0c;选型极光推送&#xff0c;记录一下开发过程。 1、极光官网注册登录 1.1选择极光推送产品&#xff0c;新建应用 1.2在下一步中选择Android/IOS的消息推送服务 1.3产品设置中输入应用包名&#xff08;一经输入后不可更改&#xff0c;一定要正…

AI战略群与星际之门:软银AI投资版图计划深度解析

一、星际之门:万亿美元级 AI 基础设施革命 1.1 项目背景与战略定位 在 AI 技术迅猛发展的今天,算力已成为推动其前进的核心动力。软银联合 OpenAI、甲骨文、英伟达、微软、arm推出的 “星际之门”(Stargate)计划,无疑是 AI 领域的一颗重磅炸弹。作为 AI 领域史上最大单笔…

系统思考与时间管理

时间管理的真正秘诀&#xff1a;主动浪费时间&#xff1f; 巴菲特的私人飞机驾驶员觉得自己不够成功&#xff0c;于是向巴菲特请教应该怎么做。巴菲特让他列出了自己人生中最想实现的25个目标&#xff0c;并按重要程度排序&#xff0c;接着安排时间专注做前五件最重要的事情。…

mac air m系列arm架构芯片安装虚拟机 UTM+debian 浏览器firefox和chrome

成果展示&#xff1a;debian虚拟机&#xff0c;你值得拥有&#xff01; 预期结果 1、mac的m系列芯片&#xff0c;arm 架构且内存小&#xff0c;安装虚拟机。 考虑到mac m系列芯片8g内存&#xff0c;arm架构想安装一个轻量的虚拟机&#xff0c;偶然之间发现了debian&#xff0c…

Keepalived+LVS+nginx高可用架构

注明&#xff1a;所有软件已经下载好&#xff0c;防火墙和SELinux已经全部关闭 一.搭建NFS 1.服务端 1.创建文件 [rootnfs ~]# mkdir -p /nfs/data 2、修改权限 [rootnfs ~]# chmod orw /nfs/data 3、写配置文件 [rootnfs ~]# cat /etc/exports /nfs/data 192.168.111.118(r…

【力扣hot100题】(034)LRU缓存

做完这题已经没有任何力气写链表题了。 思路很简单&#xff0c;就是调试特别的痛苦。 老是频频报错&#xff0c;唉。 class LRUCache { public:struct ListNode{int key,val;ListNode* next; ListNode* prev;ListNode() : key(0), val(0), next(nullptr), prev(nullptr) {}L…

【redis】缓存 更新策略(定期、实时生存),缓存预热、穿透、雪崩、击穿详解

什么是缓存 redis 最常用的场景 核心思路就是把一些常用的数据&#xff0c;放到触手可及&#xff08;访问速度更快&#xff09;的地方 ⽐如我需要去⾼铁站坐⾼铁. 我们知道坐⾼铁是需要反复刷⾝份证的 (进⼊⾼铁站, 检票, 上⻋,乘⻋过程中, 出站…)正常来说, 我的⾝份证是放在…

使用STM32CubeMX和Keil在STM32上创建并运行一个简单的FreeRTOS多任务程序

目标 利用FreeRTOS运行两个任务&#xff0c;分别为点灯和OLED屏的显示。 利用STM32CubeMX生成Keil工程和相关初始化代码 知识回顾 之前已经利用STM32CubeMX生成过Keil工程和相关初始化代码了&#xff0c;可以去回顾一下&#xff0c;详情见&#xff1a;https://blog.csdn.ne…

从查重报告入手的精准论文降重秘籍

每个同学在使用论文查重时&#xff0c;为何同一篇文章&#xff0c;可能重复率从10%—30%不等&#xff1f;归根结底还是使用了不同查重系统。其实不同的论文查重与论文AIGC检测系统的算法、数据及模型都不一样&#xff0c;那如何针对这些系统的“个性”精准降重&#xff0c;这篇…

Uubuntu20.04复现SA-ConvONet步骤

项目地址&#xff1a; tangjiapeng/SA-ConvONet: ICCV2021 Oral SA-ConvONet: Sign-Agnostic Optimization of Convolutional Occupancy Networks 安装步骤&#xff1a; 一、系统更新 检查系统是否已经更新到最新版本&#xff1a; sudo apt-get update sudo apt-get upgra…

【Linux网络#18】:深入理解select多路转接:传统I/O复用的基石

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 目录 一、前言&#xff1a;&#x1f525; I/O 多路转接 为什么需要I/O多路转接&#xff1f; 二、I/O 多路转接之 select 1. 初识 select2. select 函数原型2.1 关于 fd_set 结…

华院计算3项应用成果入选钢铁行业智能制造解决方案推荐目录(2024年)

近日&#xff0c;中国钢铁工业协会发布《钢铁行业智能制造解决方案推荐目录&#xff08;2024年&#xff09;》。由中国钢铁工业协会、钢铁行业智能制造联盟共同开展了2024年钢铁行业智能制造解决方案及数字化转型典型场景应用案例遴选、智能制造创新大赛&#xff08;钢铁行业赛…

python使用cookie、session、selenium实现网站登录(爬取信息)

一、使用cookie 这段代码演示了如何使用Python的urllib和http.cookiejar模块来实现网站的模拟登录&#xff0c;并在登录后访问需要认证的页面。 # 导入必要的库 import requests from urllib import request, parse# 1. 导入http.cookiejar模块中的CookieJar类&#xff0c;用…