当前位置: 首页 > news >正文

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伪分布式部署&#xff08;手动部署&#xff09;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…...

自定义指令,全局,局部,注册

让输入框自动获取焦点(每次刷新自动获取焦点&#xff09; <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 一、面向对象设计原则 设计模式的…...

核密度估计——从直方图到核密度(核函数)估计_带宽选择

参考 核密度估计&#xff08;KDE&#xff09;原理及实现-CSDN博客 机器学习算法&#xff08;二十一&#xff09;&#xff1a;核密度估计 Kernel Density Estimation(KDE)_算法_意念回复-GitCode 开源社区 引言 在统计学中&#xff0c;概率密度估计是一种重要的方法&#xff0…...

Vant UI Axure移动端元件库:提升移动端原型设计效率

UI框架的选择对于提升开发效率和用户体验至关重要。Vant UI&#xff0c;作为一款基于Vue.js的轻量、可靠的移动端组件库&#xff0c;自2017年开源以来&#xff0c;凭借其丰富的组件库、良好的性能以及广泛的兼容性&#xff0c;在移动端开发领域崭露头角&#xff0c;赢得了众多开…...

如何用 JavaScript 操作 DOM 元素?

如何用 JavaScript 操作 DOM 元素&#xff1f;——结合实际项目代码示例讲解 在前端开发中&#xff0c;DOM&#xff08;文档对象模型&#xff09;操作是与页面交互的核心。通过 DOM 操作&#xff0c;开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...

【Ubuntu】URDC(Ubuntu远程桌面助手)安装、用法,及莫名其妙进入全黑模式的处理

1、简述 URDC是Ubuntu远程桌面助手的简称。 它可以: 实时显示桌面:URDC支持通过Windows连接至Ubuntu设备(包括x86和ARM架构,例如Jetson系列、树莓派等)的桌面及光标。远程操控双向同步剪切板多客户端连接:同一Ubuntu设备最多可同时被三台Windows客户端连接和操控,适用于…...

ES-DSL查询

term查询 因为精确查询的字段搜是不分词的字段&#xff0c;因此查询的条件也必须是不分词的词条。查询时&#xff0c;用户输入的内容跟自动值完全匹配时才认为符合条件。如果用户输入的内容过多&#xff0c;反而搜索不到数据。 语法说明&#xff1a; // term查询 GET /index…...

npm 设置镜像

要在npm中设置镜像&#xff0c;你可以使用npm config命令。以下是设置npm镜像的步骤&#xff1a; 临时使用淘宝镜像&#xff1a; npm --registry https://registry.npmmirror.com install package-name 永久设置镜像&#xff1a; npm config set registry https://registry…...

SpringMvc完整知识点一

SpringMVC概述 定义 SpringMVC是一种基于Java实现MVC设计模型的轻量级Web框架 MVC设计模型&#xff1a;即将应用程序分为三个主要组件&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&#xff09;。这种分离…...

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 通道测试 概述 本文…...

【工具】音频文件格式转换工具

找开源资源、下载测试不同库的效果&#xff0c;然后找音频、下载音频、编写代码、测试转换、流程通畅。写一个工具花的时间越来越多了&#xff01;这个 5 天 这个工具是一个音频文件格式转换工具&#xff0c;支持对 mp3.aac.wav.caf.flac.ircam.mp2.mpeg.oga.opus.pcm.ra.spx.…...

ssl证书过期,nginx更换证书以后仍然显示过期证书

记一次nginx部署异常 今天提示ssl证书过期了&#xff0c;然后重新申请了一个证书 反反复复折腾了一个上午&#xff0c;还更换了好几个平台&#xff0c;发现怎么更换都没用&#xff0c;百度上的解决方法都试过了&#xff0c;发现都没用&#xff0c;证书还是显示的原来那一个&…...

原型模式(Prototype Pattern)——对象克隆、深克隆与浅克隆及适用场景

原型模式&#xff08;Prototype Pattern&#xff09;是设计模式中的一种创建型模式&#xff0c;目的是通过复制现有的对象来创建新的对象&#xff0c;而不是通过传统的实例化方式。原型模式常常用于需要创建大量类似对象的场景&#xff0c;可以提高性能并减少资源的消耗。下面将…...

从工标网网站解析标准信息

import requests from bs4 import BeautifulSoup 将标准搜索关键词转化成GBK格式&#xff0c;并用%连接转化后16进制&#xff0c;转化成工标网的查询网址url text “GB/T 9755” utf8_encoded_text text.encode(‘GBK’) #print(utf8_encoded_text) hex_representation ‘…...

如何在MySQL中开启死锁日志及查看日志

在数据库的多用户环境中&#xff0c;死锁是一个常见的问题&#xff0c;它可能会影响到数据库的性能和稳定性。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 需要构建正样本&#xff0c;异常样本&#xff0c;以及对应的Mask...

分类算法中的样本不平衡问题及其解决方案

一、样本不平衡问题概述 在机器学习的分类任务中&#xff0c;样本不平衡是指不同类别训练样本数量存在显著差异的现象。这一差异会给模型训练和性能评估带来挑战&#xff0c;尤其在处理少数类样本时&#xff0c;模型可能难以有效学习其特征。 以二分类为例&#xff0c;理想情况…...

博物馆导览系统方案(一)背景需求分析与核心技术实现

维小帮提供多个场所的室内外导航导览方案&#xff0c;如需获取博物馆导览系统解决方案可前往文章最下方获取&#xff0c;如有项目合作及技术交流欢迎私信我们哦~撒花&#xff01; 一、博物馆导览系统的背景与市场需求 在数字化转型的浪潮中&#xff0c;博物馆作为文化传承和知…...

VSCode光标主题定制指南:从颜色令牌到扩展开发

1. 项目概述&#xff1a;一个为开发者定制的光标主题集合如果你和我一样&#xff0c;每天有超过8小时的时间都泡在代码编辑器里&#xff0c;那么你一定会对编辑器里那个千篇一律的、闪烁的竖线光标感到审美疲劳。warrenwoodhouse/cursors这个项目&#xff0c;就是来解决这个“小…...

保姆级教程:在Ubuntu 20.04上从源码编译aarch64-linux-gnu交叉工具链(GCC 9.2.0 + Glibc 2.30)

深度实践&#xff1a;从源码构建aarch64-linux-gnu交叉工具链全指南 在嵌入式开发领域&#xff0c;交叉编译工具链的构建能力是区分普通开发者与资深工程师的重要标志。当现成的预编译工具链无法满足特定需求时&#xff0c;从源码手动构建工具链不仅能解决兼容性问题&#xff0…...

Nestia:基于TypeScript编译时分析的NestJS端到端类型安全实践

1. 项目概述&#xff1a;当NestJS遇上TypeScript的极致类型安全如果你正在用NestJS开发后端API&#xff0c;并且对TypeScript的类型安全有近乎偏执的追求&#xff0c;那么你很可能已经听说过&#xff0c;或者正在寻找一个能让你“写一次&#xff0c;安全两次”的工具。我说的“…...

使用mcp-maker快速构建AI工具集成服务器:从MCP协议到实践

1. 项目概述&#xff1a;一个为AI应用注入“超能力”的MCP服务器工厂 如果你最近在折腾AI应用开发&#xff0c;特别是想给ChatGPT、Claude这类大模型配上“手和脚”&#xff0c;让它们能操作你的本地文件、查询数据库&#xff0c;甚至控制你的智能家居&#xff0c;那你大概率已…...

Python数据聚合抓取工具:从配置化引擎到实战避坑指南

1. 项目概述&#xff1a;一个多功能的“聚合爪”工具最近在GitHub上闲逛&#xff0c;发现了一个名字挺有意思的项目&#xff1a;al1enjesus/polyclawster。这个名字拆开看&#xff0c;“poly”代表多&#xff0c;“clawster”听起来像是“claw”&#xff08;爪子&#xff09;和…...

构建通用Docker工具镜像:从设计到实践的全流程指南

1. 项目概述&#xff1a;一个“反重力”的Docker镜像&#xff1f;看到这个镜像名runzhliu/docker-antigravity&#xff0c;很多人的第一反应可能是好奇和疑惑。在Docker Hub上&#xff0c;以“antigravity”&#xff08;反重力&#xff09;命名的镜像并不常见&#xff0c;它不像…...

基于Node.js的Markdown文档自动化转换工具:从原理到CI/CD集成实战

1. 项目概述&#xff1a;一个被低估的文档转换利器如果你和我一样&#xff0c;日常工作中需要处理大量不同格式的文档&#xff0c;比如把Markdown写的技术文档转成Word给产品经理看&#xff0c;或者把项目README转成PDF存档&#xff0c;那你肯定也经历过格式错乱、样式丢失的烦…...

从零制作LED智能面具:三种方案详解与避坑指南

1. 项目概述&#xff1a;三种不同段位的LED化妆面具制作如果你对闪烁的灯光和可穿戴电子设备着迷&#xff0c;一直想亲手做一个能在派对或演出中吸引眼球的智能面具&#xff0c;但又觉得无从下手&#xff0c;那这个项目就是为你准备的。我花了几个周末的时间&#xff0c;从最简…...

G-Helper终极教程:华硕笔记本轻量级性能控制神器

G-Helper终极教程&#xff1a;华硕笔记本轻量级性能控制神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertb…...

显存又爆了?移动云弹性KV缓存:让你告别“显存焦虑”

上下文越长&#xff0c;显存越吃紧对话轮次越多&#xff0c;延迟越明显并发量一高&#xff0c;服务就卡顿……随着AI大模型向超长上下文、高并发、多轮交互深度演进&#xff0c;AI推理所需缓存的内容呈指数级增长。显存容量的需求爆炸与显存采购的高昂成本&#xff0c;使得超长…...