Hadoop生态圈框架部署 伪集群版(五)- HBase伪分布式部署
文章目录
- 前言
- 一、Hbase伪分布式部署(手动部署)
- 1. 下载Hbase
- 2. 上传安装包
- 3. 解压HBase安装包
- 4. 配置HBase配置文件
- 4.1 修改hbase-env.sh配置文件
- 4.2 修改hbase-site.xml配置文件
- 4.3 修改regionservers配置文件
- 4.4 删除hbase中slf4j-reload4j-1.7.33.jar文件
- 5. 配置HBase系统环境变量
- 8. 启动HBase伪集群
- 9. 进入HBase客户端
- 10. 访问 HBase 的 Web UI 页面
- 10.1 访问 Master 的 UI 页面
- 10.2 访问 RegionServer 的 UI 页面
- 11. 停止HBase伪集群
- 注意
- 二、使用shell脚本自动部署Hbase伪分布式(选看)
- 1. 下载Hbase
- 2. 上传安装包
- 3. 使用shell脚本自动部署Hbase伪分布式
- 3.1 创建 hbase_install_config.sh 脚本文件并添加脚本内容
- 3.2 添加可执行权限
- 3.3 执行脚本
- 4. 加载环境变量
- 5. 启动HBase伪集群
- 6. 进入HBase客户端
- 7. 访问 HBase 的 Web UI 页面
- 7.1 访问 Master 的 UI 页面
- 7.2 访问 RegionServer 的 UI 页面
- 8. 停止HBase伪集群
前言
本文将详细介绍HBase的伪分布式部署过程,包括从下载和安装到配置和启动的每一个步骤。通过手动部署,读者将能够深入理解HBase的配置文件及其参数设置,从而为后续的集群管理和应用开发打下坚实的基础。
一、Hbase伪分布式部署(手动部署)
1. 下载Hbase
点击下载 hbase2.4.18安装包:https://mirrors.huaweicloud.com/apache/hbase/2.4.18/hbase-2.4.18-bin.tar.gz
2. 上传安装包
通过拖移的方式将下载的HBase安装包hbase-2.4.18-bin.tar.gz上传至/export/software目录。

或者可以使用wget命令直接下载的Hbase安装包hbase-2.4.18-bin.tar.gz到/export/software目录。
wget https://mirrors.huaweicloud.com/apache/hbase/2.4.18/hbase-2.4.18-bin.tar.gz -P /export/software/
3. 解压HBase安装包
上传完成后将HBase安装包通过解压方式安装至/export/servers目录。
tar -zxvf /export/software/hbase-2.4.18-bin.tar.gz -C /export/servers

4. 配置HBase配置文件
4.1 修改hbase-env.sh配置文件
修改hbase运行时环境变量配置文件/export/servers/hbase-2.4.18/conf/hbase-env.sh,执行如下命令添加配置。
echo 'export JAVA_HOME=/export/servers/jdk1.8.0_421' >> /export/servers/hbase-2.4.18/conf/hbase-env.sh
echo 'export HBASE_MANAGES_ZK=false' >> /export/servers/hbase-2.4.18/conf/hbase-env.sh
echo 'export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true' >> /export/servers/hbase-2.4.18/conf/hbase-env.sh

4.2 修改hbase-site.xml配置文件
修改hbase配置文件/export/servers/hbase-2.4.18/conf/hbase-site.xml,执行如下命令修改配置。
cat >/export/servers/hbase-2.4.18/conf/hbase-site.xml <<EOF
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>/export/data/hbase2.4.18</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>hbase.rootdir</name><value>hdfs://hadoop:9000/hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>hadoop:2181</value></property><property><name>hbase.master.port</name><value>16000</value></property><property><name>hbase.master.info.port</name><value>16010</value></property><property><name>hbase.regionserver.port</name><value>16020</value></property><property><name>hbase.regionserver.info.port</name><value>16030</value></property>
</configuration>
EOF

4.3 修改regionservers配置文件
修改/export/servers/hbase-2.4.18/conf/regionservers配置文件,配置RegionServer 节点,执行如下命令修改配置。
cat >/export/servers/hbase-2.4.18/conf/regionservers <<EOF
hadoop
EOF

4.4 删除hbase中slf4j-reload4j-1.7.33.jar文件
执行如下命令删除hbase中slf4j-reload4j-1.7.33.jar文件,解决与hadoop中另一个日志jar包相同类的冲突。
rm -f /export/servers/hbase-2.4.18/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar

5. 配置HBase系统环境变量
使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。
echo >> /etc/profile
echo 'export HBASE_HOME=/export/servers/hbase-2.4.18' >> /etc/profile
echo 'export PATH=$PATH:$HBASE_HOME/bin' >> /etc/profile
配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用HBase的环境变量生效。
source /etc/profile

8. 启动HBase伪集群
由于 HBase 使用 HDFS 作为底层文件存储系统,使用 ZooKeeper 来实现多个 RegionServer 之间的一致性和协调,所以在启动 HBase 集群之前需要先启动 Hadoop 和 Zookeeper。
启动 hadoop 伪分布式。
start-all.sh

启动单机 zookeeper 并查看状态是否正常。
zkServer.sh start
zkServer.sh status

执行如下命令启动HBase伪分布式。
start-hbase.sh

9. 进入HBase客户端
执行如下命令进入 HBase 的命令行客户端。
hbase shell
测试能否正常使用HBase命令。
create 't1','f1'

退出HBase命令行客户端。
exit

10. 访问 HBase 的 Web UI 页面
10.1 访问 Master 的 UI 页面
浏览器输入http://192.168.121.100:16010即可访问 Master 的 UI 页面。

10.2 访问 RegionServer 的 UI 页面
浏览器输入http://192.168.121.100:16030即可访问 RegionServer 的 UI 页面。

11. 停止HBase伪集群
如果要停止HBase伪集群运行,执行如下命令停止HBase伪集群。
stop-hbase.sh

单独停止 master 和 regionserver
若执行stop-hbase.sh命令不能成功停止hbase集群,则执行如下命令单独停止master。
hbase-daemon.sh stop master
执行如下命令单独停止regionserver。
hbase-daemon.sh stop regionserver
注意
如果安装过程出现问题,需要重新安装,执行如下命令删除对应数据目录。若HBase已经启动需要先停止HBase伪分布式运行。
hbase-daemon.sh stop master
hbase-daemon.sh stop regionserver
rm -rf /export/data/hbase2.4.18
hdfs dfs -rm -r /hbase
zkCli.sh
deleteall /hbase
quit
二、使用shell脚本自动部署Hbase伪分布式(选看)
1. 下载Hbase
点击下载 hbase2.4.18安装包:https://mirrors.huaweicloud.com/apache/hbase/2.4.18/hbase-2.4.18-bin.tar.gz
2. 上传安装包
通过拖移的方式将下载的HBase安装包hbase-2.4.18-bin.tar.gz上传至/export/software目录。

3. 使用shell脚本自动部署Hbase伪分布式
3.1 创建 hbase_install_config.sh 脚本文件并添加脚本内容
执行如下命令创建hbase_install_config.sh脚本文件
touch /export/shell/hbase_install_config.sh
添加如下内容:
#!/bin/bash# 定义常量
HBASE_VER="2.4.18"
HBASE_TAR="hbase-${HBASE_VER}-bin.tar.gz"
DATA_DIR="/export/data"
SOFTWARE_DIR="/export/software"
SERVERS_DIR="/export/servers"# 检查hbase是否已解压
if [ -d "${SERVERS_DIR}/hbase-${HBASE_VER}" ]; thenecho "hadoop安装程序已存在,正在删除原安装程序目录..."rm -rf "${SERVERS_DIR}/hbase-${HBASE_VER}"
fi# 检查hbase安装包是否存在
if [ -f ${SOFTWARE_DIR}/${HBASE_TAR} ]; thenecho "hbase安装包存在,正在解压安装包..."# 解压HBase安装包tar -zxvf ${SOFTWARE_DIR}/${HBASE_TAR} -C ${SERVERS_DIR}echo "解压 ${SOFTWARE_DIR}/${HBASE_TAR} 到 ${SERVERS_DIR} 目录成功"
elseecho "HBase安装包不存在,请先上传安装包到 ${SOFTWARE_DIR} 目录"exit 1
fi# 修改hbase-env.sh配置文件
echo 'export JAVA_HOME=/export/servers/jdk1.8.0_421' >>${SERVERS_DIR}/hbase-${HBASE_VER}/conf/hbase-env.sh
echo 'export HBASE_MANAGES_ZK=false' >>${SERVERS_DIR}/hbase-${HBASE_VER}/conf/hbase-env.sh
echo 'export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true' >>${SERVERS_DIR}/hbase-${HBASE_VER}/conf/hbase-env.sh# 修改hbase-site.xml配置文件
cat >${SERVERS_DIR}/hbase-${HBASE_VER}/conf/hbase-site.xml <<EOF
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.tmp.dir</name><value>/export/data/hbase2.4.18</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>hbase.rootdir</name><value>hdfs://hadoop:9000/hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>hadoop:2181</value></property><property><name>hbase.master.port</name><value>16000</value></property><property><name>hbase.master.info.port</name><value>16010</value></property><property><name>hbase.regionserver.port</name><value>16020</value></property><property><name>hbase.regionserver.info.port</name><value>16030</value></property>
</configuration>
EOF
echo "${SERVERS_DIR}/hbase-${HBASE_VER}/conf/hbase-site.xml 配置文件修改成功"# 修改regionservers配置文件
cat >${SERVERS_DIR}/hbase-${HBASE_VER}/conf/regionservers <<EOF
hadoop
EOF
echo "${SERVERS_DIR}/hbase-${HBASE_VER}/conf/regionservers 配置文件修改成功"# 删除hbase中slf4j-reload4j-1.7.33.jar文件
rm -f ${SERVERS_DIR}/hbase-${HBASE_VER}/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar
if [ $? -eq 0 ]; thenecho "${SERVERS_DIR}/hbase-${HBASE_VER}/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar 文件删除成功"
elseecho "${SERVERS_DIR}/hbase-${HBASE_VER}/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar 文件删除失败,请检查"exit 1
fi# 删除hbase临时数据目录
rm -rf ${DATA_DIR}/hbase${HBASE_VER}# 删除hbase在hdfs上的数据目录
hdfs dfs -rm -r /hbase# 删除hbase在zookeeper上的数据目录
zkCli.sh <<EOF
deleteall /hbase
quit
EOF# 设置hbase环境变量
echo >> /etc/profile
echo 'export HBASE_HOME=/export/servers/hbase-2.4.18' >> /etc/profile
echo 'export PATH=$PATH:$HBASE_HOME/bin' >> /etc/profile
echo "虚拟机Hadoop1的hbase环境变量设置成功"echo -e "\n-----hbase 伪分布式安装配置完成-----\n"
echo -e "1. 执行命令 \e[31msource /etc/profile\e[0m 加载环境变量\n"
echo -e "2. 启动HBase伪集群:\e[31mstart-hbase.sh\e[0m\n"
echo -e "3. 若要停止hbase伪集群,执行:\e[31mstop-hbase.sh\e[0m\n"exit 0
3.2 添加可执行权限
给脚本文件/export/shell/hbase_install_config.sh添加可执行权限。
chmod +x /export/shell/hbase_install_config.sh

3.3 执行脚本
执行脚本文件自动化安装配置HBase伪分布式。
/export/shell/hbase_install_config.sh
执行完成如下图所示。

4. 加载环境变量
根据使用shell脚本自动安装完成后的提示,执行如下命令加载环境变量。
source /etc/profile

5. 启动HBase伪集群
由于 HBase 使用 HDFS 作为底层文件存储系统,使用 ZooKeeper 来实现多个 RegionServer 之间的一致性和协调,所以在启动 HBase 集群之前需要先启动 Hadoop 和 Zookeeper。
启动 hadoop 伪分布式。
start-all.sh

启动单机 zookeeper 并查看状态是否正常。
zkServer.sh start
zkServer.sh status

执行如下命令启动HBase伪分布式。
start-hbase.sh

6. 进入HBase客户端
执行如下命令进入 HBase 的命令行客户端。
hbase shell
测试能否正常使用HBase命令。
create 't1','f1'

退出HBase命令行客户端。
exit

7. 访问 HBase 的 Web UI 页面
7.1 访问 Master 的 UI 页面
浏览器输入http://192.168.121.100:16010即可访问 Master 的 UI 页面。

7.2 访问 RegionServer 的 UI 页面
浏览器输入http://192.168.121.100:16030即可访问 RegionServer 的 UI 页面。

8. 停止HBase伪集群
如果要停止HBase伪集群运行,执行如下命令停止HBase伪集群。
stop-hbase.sh

单独停止 master 和 regionserver
若执行stop-hbase.sh命令不能成功停止hbase集群,则执行如下命令单独停止master。
hbase-daemon.sh stop master
执行如下命令单独停止regionserver。
hbase-daemon.sh stop regionserver
相关文章:
Hadoop生态圈框架部署 伪集群版(五)- HBase伪分布式部署
文章目录 前言一、Hbase伪分布式部署(手动部署)1. 下载Hbase2. 上传安装包3. 解压HBase安装包4. 配置HBase配置文件4.1 修改hbase-env.sh配置文件4.2 修改hbase-site.xml配置文件4.3 修改regionservers配置文件4.4 删除hbase中slf4j-reload4j-1.7.33.jar…...
自定义指令,全局,局部,注册
让输入框自动获取焦点(每次刷新自动获取焦点) <template><div><h3>自定义指令</h3><input ref"inp" type"text"></div> </template><script> export default {mounted(){this.$refs.inp.focus…...
静坐修心.
文章目录 打坐的历史文化渊源东方的起源与传承西方的接受与演变现代生活中的打坐 盘腿坐对身体的影响促进脊椎健康改善呼吸系统功能增强消化系统机能改善血液循环调节神经系统错误姿势及其他潜在危害 盘腿坐对心理的作用促进内心平静与放松提升自我觉察与内在探索培养专注力与精…...
设计模式c++(一)
文章目录 一、面向对象设计原则二、模版方法三、策略模式四、观察者模式五、装饰模式六、桥模式七、工厂方法_Factory Method八、抽象工厂_Abstract Factory九、原型模式十、构建器_builder十一、单件模式_Singleton十二、享元模式_Flyweight 一、面向对象设计原则 设计模式的…...
核密度估计——从直方图到核密度(核函数)估计_带宽选择
参考 核密度估计(KDE)原理及实现-CSDN博客 机器学习算法(二十一):核密度估计 Kernel Density Estimation(KDE)_算法_意念回复-GitCode 开源社区 引言 在统计学中,概率密度估计是一种重要的方法࿰…...
Vant UI Axure移动端元件库:提升移动端原型设计效率
UI框架的选择对于提升开发效率和用户体验至关重要。Vant UI,作为一款基于Vue.js的轻量、可靠的移动端组件库,自2017年开源以来,凭借其丰富的组件库、良好的性能以及广泛的兼容性,在移动端开发领域崭露头角,赢得了众多开…...
如何用 JavaScript 操作 DOM 元素?
如何用 JavaScript 操作 DOM 元素?——结合实际项目代码示例讲解 在前端开发中,DOM(文档对象模型)操作是与页面交互的核心。通过 DOM 操作,开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...
【Ubuntu】URDC(Ubuntu远程桌面助手)安装、用法,及莫名其妙进入全黑模式的处理
1、简述 URDC是Ubuntu远程桌面助手的简称。 它可以: 实时显示桌面:URDC支持通过Windows连接至Ubuntu设备(包括x86和ARM架构,例如Jetson系列、树莓派等)的桌面及光标。远程操控双向同步剪切板多客户端连接:同一Ubuntu设备最多可同时被三台Windows客户端连接和操控,适用于…...
ES-DSL查询
term查询 因为精确查询的字段搜是不分词的字段,因此查询的条件也必须是不分词的词条。查询时,用户输入的内容跟自动值完全匹配时才认为符合条件。如果用户输入的内容过多,反而搜索不到数据。 语法说明: // term查询 GET /index…...
npm 设置镜像
要在npm中设置镜像,你可以使用npm config命令。以下是设置npm镜像的步骤: 临时使用淘宝镜像: npm --registry https://registry.npmmirror.com install package-name 永久设置镜像: npm config set registry https://registry…...
SpringMvc完整知识点一
SpringMVC概述 定义 SpringMVC是一种基于Java实现MVC设计模型的轻量级Web框架 MVC设计模型:即将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。这种分离…...
STM32G4系列MCU双ADC多通道数据转换的应用
目录 概述 1 STM32Cube配置项目 1.1 基本参数配置 1.1.1 ADC1参数配置 1.1.2 ADC2参数配置 1.2 项目软件架构 2 功能实现 2.1 ADC转换初始化 2.2 ADC数据组包 3 测试函数 3.1 Vofa数据接口 3.2 输入数据 4 测试 4.1 ADC1 通道测试 4.2 ADC2 通道测试 概述 本文…...
【工具】音频文件格式转换工具
找开源资源、下载测试不同库的效果,然后找音频、下载音频、编写代码、测试转换、流程通畅。写一个工具花的时间越来越多了!这个 5 天 这个工具是一个音频文件格式转换工具,支持对 mp3.aac.wav.caf.flac.ircam.mp2.mpeg.oga.opus.pcm.ra.spx.…...
ssl证书过期,nginx更换证书以后仍然显示过期证书
记一次nginx部署异常 今天提示ssl证书过期了,然后重新申请了一个证书 反反复复折腾了一个上午,还更换了好几个平台,发现怎么更换都没用,百度上的解决方法都试过了,发现都没用,证书还是显示的原来那一个&…...
原型模式(Prototype Pattern)——对象克隆、深克隆与浅克隆及适用场景
原型模式(Prototype Pattern)是设计模式中的一种创建型模式,目的是通过复制现有的对象来创建新的对象,而不是通过传统的实例化方式。原型模式常常用于需要创建大量类似对象的场景,可以提高性能并减少资源的消耗。下面将…...
从工标网网站解析标准信息
import requests from bs4 import BeautifulSoup 将标准搜索关键词转化成GBK格式,并用%连接转化后16进制,转化成工标网的查询网址url text “GB/T 9755” utf8_encoded_text text.encode(‘GBK’) #print(utf8_encoded_text) hex_representation ‘…...
如何在MySQL中开启死锁日志及查看日志
在数据库的多用户环境中,死锁是一个常见的问题,它可能会影响到数据库的性能和稳定性。MySQL提供了一些工具和命令来帮助我们识别和解决死锁问题。本文将介绍如何在MySQL中开启死锁日志以及如何查看这些日志。 一、为什么需要死锁日志 死锁是指两个或多…...
VCP-CLIP A visual context prompting modelfor zero-shot anomaly segmentation
GitHub - xiaozhen228/VCP-CLIP: (ECCV 2024) VCP-CLIP: A visual context prompting model for zero-shot anomaly segmentation 需要构建正样本,异常样本,以及对应的Mask...
分类算法中的样本不平衡问题及其解决方案
一、样本不平衡问题概述 在机器学习的分类任务中,样本不平衡是指不同类别训练样本数量存在显著差异的现象。这一差异会给模型训练和性能评估带来挑战,尤其在处理少数类样本时,模型可能难以有效学习其特征。 以二分类为例,理想情况…...
博物馆导览系统方案(一)背景需求分析与核心技术实现
维小帮提供多个场所的室内外导航导览方案,如需获取博物馆导览系统解决方案可前往文章最下方获取,如有项目合作及技术交流欢迎私信我们哦~撒花! 一、博物馆导览系统的背景与市场需求 在数字化转型的浪潮中,博物馆作为文化传承和知…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
