Hadoop生态圈框架部署 伪集群版(五)- HBase伪分布式部署

news2024/12/28 3:01:45

文章目录

  • 前言
  • 一、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}" ]; then
  echo "hadoop安装程序已存在,正在删除原安装程序目录..."
  rm -rf "${SERVERS_DIR}/hbase-${HBASE_VER}"
fi

# 检查hbase安装包是否存在
if [ -f ${SOFTWARE_DIR}/${HBASE_TAR} ]; then
  echo "hbase安装包存在,正在解压安装包..."
  # 解压HBase安装包
  tar -zxvf ${SOFTWARE_DIR}/${HBASE_TAR} -C ${SERVERS_DIR}
  echo "解压 ${SOFTWARE_DIR}/${HBASE_TAR}${SERVERS_DIR} 目录成功"
else
  echo "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 ]; then
  echo "${SERVERS_DIR}/hbase-${HBASE_VER}/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar 文件删除成功"
else
  echo "${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

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

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

相关文章

【css】基础(二)

本专栏内容为&#xff1a;前端专栏 记录学习前端&#xff0c;分为若干个子专栏&#xff0c;html js css vue等 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;css专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &a…

链式设计模式

链式设计模式——装饰器模式和职责链模式 装饰模式 定义&#xff1a; 指在不改变现有对象结构的情况下&#xff0c;动态地给该对象增加一些职责&#xff08;即增加其额外功能&#xff09;的模式。 结构 装饰&#xff08;Decorator&#xff09;模式中的角色&#xff1a; 抽…

电子电气架构 --- E/E(电子电气架构)的重新定义

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所谓鸡汤&#xff0c;要么蛊惑你认命&#xff0c;要么怂恿你拼命&#xff0c;但都是回避问题的根源&…

app-1 App 逆向环境准备(mumu模拟器+magisk+LSPosed+算法助手+抓包(socksDroid+charles)+Frida环境搭建

一、前言 本篇是基于 mumu模拟器 进行环境配置记录。&#xff08;真机的后面博客记录&#xff09; 二、mumu模拟器magiskLSPosed算法助手 2.1、mumu模拟器 选择 mumu 模拟器&#xff0c;下载地址&#xff1a;https://mumu.163.com 安装完成后打开&#xff0c;找到设置中心进…

【服务器问题】xshell 登录远程服务器卡住( 而 vscode 直接登录不上)

打开 xshell ssh 登录远程服务器&#xff1a;卡在下面这里&#xff0c;迟迟不继续 当 SSH 连接卡在 Connection established. 之后&#xff0c;但没有显示远程终端提示符时&#xff0c;这通常意味着连接已经成功建立&#xff0c;说明不是网络连接和服务器连接问题&#xff0c;…

Python Selenium 各浏览器驱动下载与配置使用(详细流程)

1、安装 pip install selenium 2、浏览器驱动下载 Chrome(google)浏览器驱动 下载地址&#xff1a;http://chromedriver.storage.googleapis.com/index.html 或 https://sites.google.com/a/chromium.org/chromedriver/home . 下载地址&#xff1a;http://chromedriver.stor…

Redis的认识

目录 1. Redis的特性2. Redis的使用场景2.1 Redis可以做什么&#xff1f;2.2 Redis不可以做什么 3. Redis的安装和启动4. Redis的基本全局命令4.1 GET和SET命令4.2 KEYS指令4.3 EXISTS指令4.4 DEL指令4.5 EXPIRE指令4.6 TTL指令4.7 TYPE指令 5. 数据类型和内部编码6. 单线程架构…

IntelliJ+SpringBoot项目实战(28)--整合Beetl模板框架

在前面的文章里介绍过freemarker&#xff0c;thymeleaf模板引擎&#xff0c;本文介绍另一个性能超高的模板引擎---Beetl&#xff0c;据说此模板引擎的性能远超Freemarker。官网的说法是&#xff0c;Beetl 远超过主流java模板引擎性能(引擎性能5-6倍于FreeMarker&#xff0c;2倍…

全面解析DApp开发中的智能合约设计

在DApp的开发过程中&#xff0c;智能合约的设计起到了至关重要的作用。智能合约是运行在区块链上的程序&#xff0c;负责处理和执行DApp中的逻辑、交易和数据存储。下面我们将深入探讨智能合约的设计原则、挑战和优化方法&#xff0c;帮助开发者掌握如何设计高效、安全的智能合…

利用Grounding DINO进行自动标注——目标检测任务——YOLO格式

关于Grounding DINO的环境搭建可以参考我的以前的博客&#xff0c;链接如下所示 如何在Linux上离线部署Grounding DINO-CSDN博客 这个博客主要来介绍如何利用Grounding DINO这个项目去进行目标检测的自动化标注。并且给出了相关的代码已经实验验证。 1.数据集准备 2. 开始实…

1.使用docker 部署redis Cluster模式 集群3主3从

1.使用docker 部署redis Cluster模式 集群3主3从 1.1 先安装docker 启动docker服务&#xff0c;拉取redis镜像 3主3从我们要在docker启动6个容器docker run --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-…

开发类似的同款小程序系统制作流程

很多老板想要开发一款和别人家类似的同款小程序系统&#xff0c;但是不知道该怎么开发制作&#xff0c;本文就为大家详细介绍一下开发类似的同款小程序的流程为大家做参考。 一、前期准备找到对标小程序&#xff1a;首先&#xff0c;需要找到你想要模仿的同款小程序&#xff0…

Jenkins凭据管理及使用详解

简介:Jenkins凭据管理是指对Jenkins中存储的敏感信息进行管理的功能,这些信息通常用于认证和授权,以确保Jenkins能够安全地与其他系统和服务进行交互。以下是关于Jenkins凭据管理添加及作用的详细介绍: 一、Jenkins凭据管理的添加 进入凭据管理页面: 登录Jenkins后,点击…

车载VR可视化解决方案

车载VR可视化解决方案是通过融合跟踪用户头部运动的特殊预测算法与惯性测量数据而开发的。该系统将大范围虚拟现实跟踪技术与IMU传感器相结合&#xff0c;为VR和AR应用打造了一套全面的运动跟踪与渲染流程&#xff0c;极大地方便了虚拟现实头显制造商定制可视化流程。 该车载VR…

鸿蒙实现数据管理

目录&#xff1a; 1、鸿蒙实现数据管理的三种方式2、用户首选项3、键值型数据管理3.1、获取KVManager实例&#xff0c;用于管理数据库对象3.2、创建并获取键值数据库3.3、调用put()方法向键值数据库中插入数据3.4、调用get()方法获取指定键的值3.5、调用delete()方法删除指定键…

【环境搭建】WordPress本地部署搭建及历史版本插件安装(windows系统)

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【环境搭建】WordPress本地部署搭建及历史版本插件安装&#xff08;windows系统&#xff09; WordPress搭建环境部署&#xff08;…

【教程】创建NVIDIA Docker共享使用主机的GPU

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 这套是我跑完整理的。直接上干货&#xff0c;复制粘贴即可&#xff01; # 先安装toolkit sudo apt-get update sudo apt-get install -y ca-certifica…

突破空间限制!从2D到3D:北大等开源Lift3D,助力精准具身智能操作!

文章链接&#xff1a;https://arxiv.org/pdf/2411.18623 项目链接&#xff1a;https://lift3d-web.github.io/ 亮点直击 提出了Lift3D&#xff0c;通过系统地提升隐式和显式的3D机器人表示&#xff0c;提升2D基础模型&#xff0c;构建一个3D操作策略。 对于隐式3D机器人表示&a…

详解MySQL安装

目录 Ubantu 1. 使⽤apt安装MySQL 2.查看MySQL状态 3. MySQL 安装安全设置 4.设置密码 卸载MySQL Centos 1. 确认当前的系统版本 2.下载MySQL源 3.安装MySQL 4.启动mysqld 5.查看MySQL状态 6.设置开机自启动 7.查看MySQL密码&#xff0c;并登录 8.修改密码 Ubant…

Java线程的interrupt中断、wait-notify/all(源码级分析)

实例方法&#xff1a; interrupt()方法是设置结束阻塞(sleep、)&#xff0c;并且设置中断标记true isInterrupted()判断当前是否中断 静态方法&#xff1a; Thread.interrupted():调用这个方法的线程中断标记位还原为false 那么好&#xff0c;既然上面的方法作用是清晰的&…