Hbase的安装与配置

news/2025/10/15 20:18:37/文章来源:https://www.cnblogs.com/Vfrti/p/19144189

HBase安装与配置

前提是jdk,zookeeper,ssh都配置完成了

1 安装

官网地址:Index of /hbase

image-20251013102530693

image-20251013102743824

国内镜像:

# 从华为云镜像下载 HBase
wget https://repo.huaweicloud.com/apache/hbase/2.5.7/hbase-2.5.7-bin.tar.gz

image-20251013123218383

1.1 解压

解压到指定路径

tar -zxf hbase-2.5.7-bin.tar.gz -C /usr/local

1.2 切换到 /usr/local目录下,将文件重命名为hbase

cd /usr/local
mv hbase-2.5.7 hbase

1.3 配置环境变量

将HBase安装目录下的bin目录添加到系统的PATH环境变量中,这样不用切换到/usr/local/hbase目录下也可以启动HBase

vim ~/.bashrc

在.bashrc文件末尾输入以下配置信息,保存信息

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

刷新文件使配置生效

source ~/.bashrc

2 配置HBase

先启动Zookeeper

zkServer.sh start

切换到HBase安装目录下的conf目录中

cd /usr/local/hbase/conf

2.1 配置单机模式

vim hbase-env.sh
  1. 配置hbase-env.sh
export JAVA_HOME=/opt/programs/jdk1.8.0_202
export HBASE_MANAGES_ZK=TRUE
  1. 配置hbase-site.xml

hbase.rootdir 的路径设置为 hdfs://ns/hbase

通过查看 Hadoop 的core-site.xml文件来确定fs.defaultFS的值,然后根据该值来设置hbase.rootdir

如果你的 Hadoop 没有配置高可用性(HA),且core-site.xmlfs.defaultFS的值为hdfs://localhost:9000,那么hbase.rootdir可以设置为hdfs://localhost:9000/hbase。其中/hbase是在 HDFS 上为 HBase 数据保留的目录,你也可以根据实际需求修改为其他目录,但需要确保该目录在 HDFS 上存在且 HBase 有写入权限。

如果你的 Hadoop 配置了高可用性(HA),则需要根据 HDFS 的命名服务名称来设置hbase.rootdir。假设 HDFS 的命名服务名称为ns,那么hbase.rootdir可以设置为hdfs://ns/hbase

<!-- 1. 配置 HBase 连接的 ZooKeeper 集群地址(你的 ZooKeeper 在哪几个节点,就写哪几个) -->
<!-- 若 ZooKeeper 只在 hadoop01 启动,就写 hadoop01:2181;若多节点,用逗号分隔 -->
<property><name>hbase.zookeeper.quorum</name><value>hadoop01</value>  <!-- 替换为你的 ZooKeeper 节点名,如 hadoop01,hadoop02 -->
</property><!-- 2. 配置 ZooKeeper 端口(默认 2181,与现有 ZooKeeper 一致) -->
<property><name>hbase.zookeeper.property.clientPort</name><value>2181</value>
</property><!-- 3. 禁用 HBase 自带的 ZooKeeper(关键:避免端口冲突) -->
<property><name>hbase.cluster.distributed</name><value>true</value>  <!-- true 表示分布式模式,禁用自带 ZooKeeper;单机模式也可设为 true -->
</property><!-- 4. (补充)配置 HBase 在 HDFS 上的存储路径(与你之前 Hadoop HA 命名服务一致) -->
<!-- 你的 Hadoop HA 命名服务是 ns,所以路径为 hdfs://ns/hbase -->
<property><name>hbase.rootdir</name><value>hdfs://ns/hbase</value>
</property>
  1. 启动HBase
cd /usr/local/hbase
bin/start-hbase.sh

​ 利用jps命令进行查询

注:

如果出现无效变量名在hbase-env.sh中添加

# 解决 Hadoop 3.x 与 HBase 2.x 的环境变量兼容问题
export HADOOP_HOME=/opt/programs/hadoop-3.2.4  # 你的 Hadoop 实际安装路径
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true  # 禁用 HBase 自动加载 Hadoop 类路径
export HBASE_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"  # 指定 Hadoop 原生库路径
  1. 关闭HBase
bin/stop-hbase.sh

2.2 配置伪分布模式

  1. 配置hbase-env.sh
export JAVA_HOME=/opt/programs/jdk1.8.0_202
export HBASE_CLASSPATH=/opt/programs/hadoop-3.3.6/etc/hadoop
export HBASE_MANAGES_ZK=true
  1. 配置hbase-site.xml

​ 地址和端口要根据自己的实际情况修改,我是在CentOS9下的workers文件里已经设置好了IP地址的映射关系

  <property><name>hbase.rootdir</name><value>hdfs://hadoop01:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property>
  1. 启动HBase

​ 登录ssh(根据自己设置的更改登录名称)

ssh hadoop01

​ 切换至 /opt/programs/hadoop-3.3.6目录下,让HDFS处于运行状态(根据自己的实际hadoop目录进行调整)

cd /opt/programs/hadoop-3.3.6

​ 启动Hadoop

sbin/start-dfs.sh

​ 切换到hbase目录下

cd /usr/local/hbase 

​ 启动HBase

bin/start-hbase.sh

​ 启动成功后通过jps查看进程

image-20251013123313805

  1. 关闭HBase
bin/stop-hbase.sh

​ 关闭Hadoop

cd /opt/programs/hadoop-3.3.6
sbin/stop-dfs.sh

HBase Shell操作

先启动zookeeper(所有节点都要启动)

zkServer.sh start

启动HBase

start-hbase.sh

关闭HBase

stop-hbase.sh

​ 注:如果关闭HBase时出现很多(...)可以使用如下方法快速关闭

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

使用HBase Shell可以以命令行的方式与HBase交互。

/usr/local/hbase/bin/hbase shell

如下图所示即为启动成功:

可以用list和atatus或者创建一个test表测试一下是否能成功

image-20251015174214005

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

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

相关文章

【Azure App Service】App Service是否支持PHP的版本选择呢?

问题描述 在一个古老的 Azure Web App 项目中,需要修改 PHP 版本,如何操作呢? 问题解答 Linux 版本的PHP修改可以通过门户上修改,但是如果所想要的版本已经不在列表之中,则可以通过PowerShell或Azure CLI命令修改…

OAuth/OpenID Connect 渗透测试完全指南

本文详细介绍了OAuth和OpenID Connect在现代Web应用中的安全测试案例,包括端点侦察、开放重定向、代码重放攻击、CSRF防护、令牌安全等关键测试点,帮助安全人员全面评估认证授权机制的安全性。Web应用渗透测试:OAut…

Problem K. 置换环(The ICPC online 2025)思路解析 - tsunchi

答案 最大权值: \[\begin{cases} \lfloor \frac{n+1}{2} \rfloor \cdot n,\; n\text{为奇数}, \\ \lfloor \frac{n+1}{2} \rfloor \cdot (n+1),\; n\text{为偶数}, \end{cases} \]把列 A:从 n 到 1 倒序输出 思路 题…

Go 语言和 Tesseract OCR 识别英文数字验证码

Go 语言凭借其并发处理能力和简单的语法,成为开发高效程序的首选之一。借助 tesseract 包,我们可以在 Go 中调用 Tesseract OCR 引擎进行验证码识别。 一、安装与配置 安装 Tesseract OCR 首先,确保你已经在系统中安…

Markdown转换为Word:Pandoc模板使用指南 - 实践

Markdown转换为Word:Pandoc模板使用指南 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

2025年10月小程序开发公司最新推荐排行榜,小程序定制开发,电商小程序开发,预订服务小程序开发,活动报名小程序开发!

在数字化转型加速推进的当下,小程序已成为政企实现线上服务落地的核心载体。但行业快速扩张背后,乱象愈发凸显:部分厂商以模板套用冒充定制开发,交付后出现功能缩水、二次开发困难等问题;技术迭代滞后导致小程序适…

复习CSharp

基本语法 usiing 关键字 using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句 class关键字 class 关键字用于声明一个类。 注释 单行注释 多行注释 成员变量 变量是类的属性或数据成员,用于存储…

数据结构-循环队列

循环队列 功能实现 /**************************************************************************** * @name* @author* @date** *CopyRight (c) 2025-2026 All Right Reserved* **********************************…

C语言学习——键盘录入

一.基础的定义 键盘录入用到的是scanf起作用是获取用户在键盘上输入的数据,并赋值给变量 二.示例 下面是键盘录入的格式三.练习 当我们需要在键盘上录入我们所需要的字符串时我们可以通过以下的要求和格式来进行定义下…

2025年10月软件开发公司最新推荐,软件定制开发,crm系统定制软件开发,管理系统软件开发,物联网软件开发公司推荐!

在数字化转型加速推进的当下,政企机构对软件开发服务的需求持续攀升,但行业乱象却让选型陷入困境。部分厂商存在技术架构陈旧、扩展能力不足的问题,系统上线后难以适配业务增长需求;另有服务商重开发轻服务,售后响…

C语言学习——运算符的学习

在算术运算符中有许多需要注意的过程,当然这其中所遵循的都是我们平常常见的运算规则只是其中增添了一些在计算机的运算过程中所出现的问题 1 .接下来介绍的就是C语言中运算符的基础运算,同时也是我们很早就掌握的,…

第十五篇

今天是10月15日,上了离散和马原。

数据结构-顺序栈

数据结构-顺序栈 /**************************************************************************** * @name: sequencelstack * @author: 王玉珩* @date: 2025/10/07** *CopyRight (c) 2025-2026 All Right Rese…

实用指南:NXP - 用MCUXpresso IDE v25.6.136的工具链编译Smoothieware固件工程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Erlang 的英文数字验证码识别系统设计与实现

一、引言 验证码(CAPTCHA)作为互联网中抵御自动化攻击的重要安全机制,被广泛用于登录验证、注册防刷、评论防机器人等场景。 传统验证码识别常用 Python 或 C++ 实现,而本文将介绍如何用 Erlang 来构建一个基础的英…

使用Django从零开始构建一个个人博客系统 - 实践

使用Django从零开始构建一个个人博客系统 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

2025年磨床厂家TOP企业品牌推荐排行榜,平面磨床,外圆磨床,数控平面磨床,数控外圆磨床,7163平面磨床推荐这十家公司!

当前磨床市场竞争愈发激烈,产品质量参差不齐,不少企业在选购磨床时面临诸多难题。部分厂家缺乏严格的质量管控体系,生产的磨床精度不足、稳定性差,难以满足汽车摩托车、工程机械、军工等行业对加工精度的高要求;还…

cifar10

import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from multiprocessing import freeze_support import sys 1. 加载和预处理数据 d…

[LangChain] 02. 模型接口

LangChain 支持两类主流语言模型:文本补全模型 对话模型文本补全模型 Text Completion Models 这类模型以一段纯文本作为输入,输出结果是一段连续生成的文字(这里的输出文本其实就是对前面输入文本的一个补全),不…

摄像头调试

camera调试经验分享 收藏 一 关于Sensor预览时有条纹: 1。电源不稳定,CMOS sensor对电源的稳定度蛮高的。 2。同步信号受干扰,彩色条纹显然是每行数据中有信号丢失造成。 3。检查mclk和pclk以及他们的ratio,软件…