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

基于WSL下载Hadoop和HBASE

正常操作
步骤 1:安装 WSL
启用 WSL 功能:

以管理员身份打开 PowerShell 或 命令提示符,输入以下命令并回车:

powershell
wsl --install
这个命令会自动启用所需的 Windows 功能、下载并安装默认的 Ubuntu 发行版。

(如果上述命令无效,可以手动启用):

powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
设置用户账号:

安装完成后,系统会提示你重启电脑。重启后,首次启动安装的 Ubuntu 应用,它会要求你创建一个纯英文的 UNIX 用户名和密码。

步骤 2:在 WSL 中安装 Hadoop
现在,你拥有了一个 Ubuntu 终端,接下来的所有操作都和在真正的 Linux 系统中一模一样。

更新软件包列表:

bash
sudo apt update
安装 Java (Hadoop 的依赖):

bash
sudo apt install openjdk-11-jdk -y
安装后验证:java -version

下载并安装 Hadoop:

bash

进入用户主目录

cd ~

使用 wget 下载 Hadoop (以 3.3.6 为例,可替换为最新版)

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

解压

tar -xzvf hadoop-3.3.6.tar.gz

重命名并移动到常用位置(可选)

mv hadoop-3.3.6 hadoop
sudo mv hadoop /usr/local/
配置环境变量和 Hadoop:

编辑 ~/.bashrc 文件:

bash
nano ~/.bashrc
在文件末尾添加:

bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Java 路径可能不同,可用 update-alternatives --config java 查看
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:source ~/.bashrc
可能出现错误
image
成功启用Windows功能,但是下载并安装Linux系统这一步遇到了网络连接超时错误

可以尝试手动安装
下载 Linux 内核更新包(必需步骤):
访问微软官方 WSL 文档的下载页:https://aka.ms/wsl2kernel
找到并下载 WSL2 Linux 内核更新包(例如:wsl_update_x64.msi)。
下载后,双击运行安装它。
手动下载并安装 Ubuntu 系统:
打开 Microsoft Store (微软应用商店)。
在搜索框中搜索 Ubuntu。
安装完成后,从开始菜单打开刚刚安装的 Ubuntu 应用。
系统会要求你等待几分钟进行初始解压,然后为你创建一个新的用户名和密码(这个用户名和密码是 WSL Linux 子系统内部的,用于 sudo 命令,可以与你的 Windows 账户密码不同)。

如何验证安装成功?
安装完成后,重新打开一个普通的 PowerShell 或命令提示符窗口(不需要管理员身份),输入命令:
powershell
wsl -l -v
如果成功,你会看到类似下面的输出,表明 Ubuntu 正在运行,并且版本是 WSL 2:
text
NAME STATE VERSION

  • Ubuntu Running 2

请直接运行:
bash
sudo apt update
sudo apt install openjdk-11-jdk -y
会出现这个图像

下载 Hadoop
现在我们可以下载 Hadoop 了。请回到用户主目录,然后使用 wget 命令下载(以 3.3.6 版本为例):

bash
cd ~
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
3. 解压并移动到合适的位置
bash
tar -xzvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
4. 设置环境变量
接下来需要配置环境变量,让系统知道 Hadoop 的位置。编辑 ~/.bashrc 文件:

bash
nano ~/.bashrc
在文件的最后,添加以下内容(如果不会用 nano 编辑器,可以搜索一下基本用法:Ctrl+X 退出,按 Y 确认保存,回车确认文件名):

bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后让配置生效:

bash
source ~/.bashrc
image
配置 Hadoop 本身
这是最复杂的一步,我们需要修改几个 Hadoop 的配置文件。所有配置文件都位于 /usr/local/hadoop/etc/hadoop/ 目录下。

4.1 配置 core-site.xml
这个文件指定 HDFS 的默认访问地址和临时目录。

bash
nano $HADOOP_HOME/etc/hadoop/core-site.xml
标签内的内容替换为:

xml


fs.defaultFS
hdfs://localhost:9000


hadoop.tmp.dir
/home/$(whoami)/hadoop_tmp


4.2 配置 hdfs-site.xml
这个文件指定 HDFS 的副本数量(单机模式设为1)。

bash
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
替换为:

xml


dfs.replication
1


4.3 配置 mapred-site.xml
这个文件指定 MapReduce 运行在 YARN 框架上。

bash
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
替换为:

xml


mapreduce.framework.name
yarn


4.4 配置 yarn-site.xml
这个文件配置 YARN 资源管理器。

bash
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
替换为:

xml


yarn.nodemanager.aux-services
mapreduce_shuffle


免密登录
设置 SSH 免密登录
Hadoop 的启动脚本需要通过 SSH 连接到本地机器来启动各种守护进程(如 DataNode, NodeManager)。设置免密登录后,脚本就不需要手动输入密码了。

安装 SSH 客户端和服务器:

bash
sudo apt install openssh-client openssh-server -y
生成 SSH 密钥对(一直按回车即可,所有提示都使用默认值):

bash
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
将公钥授权给本机:

bash
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改授权文件权限(这是一个安全要求):

bash
chmod 0600 ~/.ssh/authorized_keys
测试 SSH 免密登录是否成功:

bash
ssh localhost
格式化 HDFS NameNode
注意:这是第一次安装时必须执行的操作,且只能做一次!它会清除所有已有的 HDFS 数据。

这相当于初始化 Hadoop 的文件系统。

bash
hdfs namenode -format
您会看到大量日志输出。如果格式化成功,最后几行通常会出现 Storage directory ... has been successfully formatted 之类的信息。

启动 Hadoop 集群
现在,一切准备就绪,可以启动 Hadoop 了!

启动 HDFS(包含 NameNode, DataNode, SecondaryNameNode):

bash
start-dfs.sh
启动 YARN(包含 ResourceManager, NodeManager):

bash
start-yarn.sh
使用 jps 命令验证所有进程是否都已启动:

bash
jps
如果启动成功,您应该能看到类似以下的 6个 关键进程(顺序可能不同):

text
1234 NameNode
5678 DataNode
9012 SecondaryNameNode
3456 ResourceManager
7890 NodeManager
1112 Jps
Jps 进程本身是用来查看Java进程的工具,可以忽略。只要前5个都在,就说明集群启动成功了!
可能出现问题
image
Hadoop 从 3.x 版本开始,出于安全考虑,不允许直接使用 root 用户来启动和管理服务。

错误信息非常明确:

text
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
我们需要在环境变量中明确指定运行 Hadoop 服务的用户。

解决方案:配置 Hadoop 用户环境变量
请按照以下步骤操作:

编辑 ~/.bashrc 文件,添加必要的用户环境变量:

bash
nano ~/.bashrc
在文件的最末尾,添加以下配置行(这些变量会告诉 Hadoop 脚本使用哪个用户来启动服务):

bash

Hadoop User Definitions (Required for Hadoop 3.x+)

export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
由于我们就是在 root 用户下操作的,所以这里都设置为 "root"。

保存并退出 nano 编辑器 (Ctrl+X -> Y -> Enter)。

让新的环境配置立即生效:

bash
source ~/.bashrc
现在,重新启动 Hadoop 集群:

bash
stop-dfs.sh
stop-yarn.sh
start-dfs.sh
start-yarn.sh
再次使用 jps 命令验证进程是否都已成功启动:

bash
jps

image
看到这个错误 ERROR: JAVA_HOME is not set and could not be found.,这表明 Hadoop 启动脚本无法找到 Java 安装路径。虽然您之前可能已经设置了 JAVA_HOME,但可能设置不正确或者没有生效。

让我们一步步解决这个问题:

解决方案:正确设置 JAVA_HOME

  1. 首先,确认 Java 确实已安装并找到其准确路径
    bash
    update-alternatives --config java
    或者

bash
which java
执行这些命令后,您会看到 Java 的安装路径,例如:

text
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
请记下这个路径(去掉末尾的 /bin/java),例如:/usr/lib/jvm/java-11-openjdk-amd64

  1. 编辑 Hadoop 的环境配置文件
    Hadoop 有自己的环境配置文件,我们需要在其中设置 JAVA_HOME:

bash
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
在这个文件中,找到 export JAVA_HOME= 这一行(大约在第54行左右),取消注释并将路径设置为您刚才找到的 Java 路径:

bash

将原本的行修改为:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
请确保将路径替换为您实际找到的 Java 安装路径。

保存并退出编辑器(Ctrl+X → Y → Enter)。

  1. 同时确保 ~/.bashrc 中的 JAVA_HOME 也正确设置
    bash
    nano ~/.bashrc
    检查 JAVA_HOME 的设置是否正确,应该与上面设置的路径一致。

然后让配置生效:

bash
source ~/.bashrc
4. 验证 JAVA_HOME 设置
bash
echo $JAVA_HOME
应该输出您设置的 Java 路径。

  1. 现在重新启动 Hadoop
    bash
    stop-all.sh
    start-dfs.sh
    start-yarn.sh
  2. 检查进程是否正常运行
    bash
    jps
    出现下面的图像HADOOP就算完成了
    image

下载HBASE
1.在Ubuntu 终端中执行:

bash
cd ~

以 HBase 2.4.18 为例(请检查官网是否有更新版本)

wget https://downloads.apache.org/hbase/2.4.18/hbase-2.4.18-bin.tar.gz
1.2 解压和安装
bash

解压

tar -xzvf hbase-2.4.18-bin.tar.gz

移动到合适位置并重命名

sudo mv hbase-2.4.18 /usr/local/hbase
1.3 设置环境变量
编辑 ~/.bashrc 文件:

bash
nano ~/.bashrc
在文件末尾添加:

bash

HBase Configuration

export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
使配置生效:

bash
source ~/.bashrc
第 2 步:配置 HBase
2.1 配置 hbase-site.xml
这是 HBase 的主要配置文件:

bash
nano $HBASE_HOME/conf/hbase-site.xml
将以下配置替换文件内容(确保 Hadoop 正在运行):

xml

hbase.cluster.distributedtruehbase.rootdirhdfs://localhost:9000/hbasehbase.zookeeper.property.dataDir/home/$(whoami)/zookeeperhbase.zookeeper.quorumlocalhost2.2 配置 Java 路径 编辑 HBase 的环境配置文件:

bash
nano $HBASE_HOME/conf/hbase-env.sh
找到并设置 JAVA_HOME:

bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
第 3 步:启动和测试 HBase
3.1 确保 Hadoop 正在运行
bash
jps
您应该看到 NameNode、DataNode、ResourceManager 等进程。

3.2 启动 HBase
bash
start-hbase.sh
3.3 验证 HBase 进程
bash
jps
您现在应该看到额外的 HBase 进程:

HMaster - HBase 主节点

HRegionServer - HBase 区域服务器

3.4 启动 HBase Shell 进行测试
bash
hbase shell
进入 HBase 交互式命令行界面,提示符变为 hbase(main):001:0>。就算成功了

相关文章:

基于WSL下载Hadoop和HBASE

正常操作 步骤 1:安装 WSL 启用 WSL 功能: 以管理员身份打开 PowerShell 或 命令提示符,输入以下命令并回车: powershell wsl --install 这个命令会自动启用所需的 Windows 功能、下载并安装默认的 Ubuntu 发行版。 (如果上述命令无效,可以手动启用): powershell dism.…...

应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局

云效 AppStack 与阿里云 Serverless 应用引擎(SAE)的集成方案,为企业研发团队提供了一套高效、低成本、高质量的研运一体化解决方案。作者:天彤 背景 对于研发团队来说,应用程序(Application)的开发运维的成本、质量、效率,永远是比较难均衡的三个核心要素,特别是对于…...

revit二次开发之 钢筋功能详细分析

根据以上钢筋的功能,可以确定钢筋功能的主要功能按照循序如下:类别     功能 备注Rebar 结构钢筋 生成普通钢筋信息AreaReinforcement 结构区域钢筋  用于生成区域钢筋PathReinforcement 路径区域钢筋 用于生成路径区域钢筋FabricSheet 编织钢筋网片 用于生成网片钢筋类…...

java-wxj02

Java 核心概念深度解析:方法、数组与类 一、方法参数传递机制 示例代码分析 import java.util.Arrays;public class Main {static void changeStr(String x) {x = "xyz";}static void changeArr(String[] strs) {for (int i = 0; i < strs.length; i++) {strs[i]…...

停止win10自动升级操作

Win11 和 Win10,使用。 按 Win + X 键选择 Windows PowerShell (管理员) 按右键粘贴这行代码后回车即可: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 10000 /f之后你就可以在 Win…...

vue3 - elementPlus

官网: https://element-plus.org/zh-CN 安装 npm install element-plus --saveElement Plus 是项目运行时必须的 UI 组件库,最终会被打包到生产环境代码中,因此需要用 --save 安装(这也是 npm 5+ 版本的默认行为,可省略 --save)。 package.json一、按钮 Button 全局导入…...

GAS_Aura-Target Data

1...

windows 把恢复分区调整到 c 盘前面

1. 使用diskgenius在c盘前面划分出一块1G以上大小的空间(需要重启) 2. 使用diskgenius在这块空间上建立分区,设置属性为隐藏 3. 使用diskgenius克隆旧恢复分区的文件到新建分区 4. 用管理员CMD命令,修改新建分区类型GUID为"de94bba4-06d1-4d40-a16a-bfd50179d6ac"…...

wso2~对已发布api的元信息管理

在wso2的发布者模块中,如果你的api建立后,是无法修改api名称和context路径的,只能在发布者模块添加新的api,这对于订阅者来说是安全的,但如果你不小心路径写错了,希望对context进行变更,也可以在carbon平台实现api原始信息是的修改,但请注意,这对于所有订阅者都是生效…...

利用Myo臂环采集肌电信号和角速度来实现实时手势识别

利用Myo臂环采集肌电信号(EMG)和角速度(来自陀螺仪)来实现实时手势识别 一、系统概述与工作原理 Myo臂环是一款可穿戴设备,它包含:8个EMG传感器:测量前臂肌肉产生的电信号。不同的手势会激活不同的肌肉群,产生独特的肌电模式。 9轴IMU:包含陀螺仪(角速度)、加速度计…...

实用指南:leetcode 966. 元音拼写检查器 中等

实用指南:leetcode 966. 元音拼写检查器 中等pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !i…...

三轴传感开发新纪元:exvib扩展库让精准检测触手可及!

告别复杂代码与冗长调试,exvib扩展库为三轴传感带来颠覆性变革。极简API设计实现高效对接,开发者只需少量代码即可解锁精准检测能力,轻松应对各类传感场景,让技术落地不再艰难。 一、exvib库典型应用及检测模式 1.1 三种典型应用 exvib.open(mode)接口针对三种典型应用场景…...

List与Dictionary区别

List<T> 和 Dictionary<TKey,TValue> 都是泛型集合,但底层数据结构、使用场景、操作复杂度完全不同:✅ 一句话区别List = 有序数组,按索引找元素,可重复。Dictionary = 哈希表,按键找元素,键唯一,无序(插入顺序不保证)。📊 横向对比表 表格 复制特性Lis…...

OpenStack Cinder 架构

Cinder 是 OpenStack 的 块存储 (Block Storage) 服务,其核心功能是为虚拟机实例提供持久化的块存储设备(即云硬盘 Volume)。这些云硬盘可以被挂载到虚拟机实例上,就像给物理服务器插上一块新的硬盘一样,用于扩展实例的存储空间或持久化保存数据,即使实例本身被终止,数据…...

完整教程:IC(输入捕获)

完整教程:IC(输入捕获)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size…...

HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台

在 AI 浪潮席卷千行百业的今天,我们看到无数企业和开发者满怀激情地投身其中。无论是将内部的大模型能力赋能给各个业务线,还是希望将昂贵的 AI 资产对外开放、构建生态,一个强大的“AI 开放平台”都已成为刚需。💡 目录 01 HiMarket 开源背景 02 HiMarket 是什么 03 快…...

如何统计DrawMeshInstancedIndirect绘制物体的Triangle数据

1)如何统计DrawMeshInstancedIndirect绘制物体的Triangle数据2)如何量化骨骼数量对功耗的影响3)Sprite Atlas和单独的Sprite的RW设置分别如何影响内存4)Playable的Animator.WriteTransform一直执行在一个Job线程里这是第444篇UWA技术知识分享的推送,精选了UWA社区的热门话…...

VK1S68C点钟LED驱动控制专用芯片高抗干扰数显驱动IC 可支持134的点阵LED显示面板

VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串行接口、数据锁存器、LED 驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED 阴极,可支持13SEGx4GRID、12SEGx5GRID、11SEGx6GRID、10SEGx7GRID的点阵LED显 示面板,最大支持10x2按键。适用…...

基于MATLAB的海洋中尺度涡旋诊断

基于MATLAB的海洋中尺度涡旋诊断方案,使用卫星高度计与海洋模式数据,结合多源特征提取与机器学习方法:一、系统架构设计 % 主程序框架 [ssh_mod, ssh_sat] = load_data(); % 加载模型与卫星数据 [ssh_merged, mask] = data_preprocess(ssh_mod, ssh_sat); % 数据融合与掩膜生…...

从混乱到有序:Tita 项目一体化管理的全场景赋能

在企业运营中,项目管理如同一条贯穿始终的主线,串联起资源调配、团队协作与目标达成。然而,多数企业在项目推进过程中,常常陷入流程断裂、信息滞后、协作低效的困境。Tita 项目一体化管理以全场景覆盖的特性,为企业提供从根源上解决问题的方案,让项目管理从 “被动救火”…...

SpringBoot入门指南:让Java开发变得像搭积木一样简单 - 教程

SpringBoot入门指南:让Java开发变得像搭积木一样简单 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New"…...

汇编语言[王爽]-13 int指令【中断实现loop、jmp】

int指令 格式:int n :n是中断向量码,引发一个中断 作用:等价于下面的代码【中断流程】 1. 取中断向量码N 2. pushf 3. IF=0,TF=0 4. push CS , push IP 5. (IP)=(N*4) ; (CS)=(N*4+2)iret指令 格式: iret 从中断例程中返回 作用:等价于下面的代码 pop IP pop CS popf💡…...

Supabase云同步架构:Flutter应用的数据同步策略

Supabase云同步架构:Flutter应用的数据同步策略本文基于BeeCount(蜜蜂记账)项目的实际开发经验,深入探讨如何使用Supabase构建安全、高效的云端数据同步系统。项目背景 BeeCount(蜜蜂记账)是一款开源、简洁、无广告的个人记账应用。所有财务数据完全由用户掌控,支持本地存储…...

汇编语言[王爽]-12 内中断

内中断的产生 来源及中断码除法错误:0 单步执行:1 执行into指令:4 执行int n指令:n中断向量表中断过程 CPU收到中断信息后,根据中断向量表,跳转到相应的中断程序中处理中断,这一过程称为中断过程从中断信息中取得中断向量码N 标志寄存器入栈(因为中断过程中要改变标志寄…...

【SPIE出版】第五届先进制造技术与电子信息国际学术会议(AMTEI 2025)

第五届先进制造技术与电子信息国际学术会议(AMTEI 2025)将于2025年09月26-28日在重庆召开。【先进制造、机械工程、电子信息方向均可投稿】 【SPIE见刊发表,EI Compendex和Scopus检索收录 | 发表&检索十分稳定!】 第五届先进制造技术与电子信息国际学术会议(AMTEI 202…...

2025.9.15 考试总结

总结来说就是 3h 写 t1 没时间想 t2,t3 了,其实 t3 还是很一眼的。 T1 一个斜优板子。 每次如果 \(l_i = 1, r_i = i - 1\),是很容易用李超树做到 \(O(n \log n)\)。 既然每次查一个区间,那么就在外面套一个线段树。 std 的做法是用线段树维护凸包,我的树套树被卡常了。 李…...

汇编语言[王爽]-01 基础知识

汇编语言的组成汇编指令:机器码的助记符,有相应的机器码 伪指令:没有对应的机器码,由编译器执行,计算机不执行 其他符号:如+ - * / 由编译器识别,没有对应的机器码汇编指令是汇编语言的核心 指令与数据是应用上的概念,在x86架构中,指令和数据存放在内存或磁盘中没有任…...

贪心外套计数

[AGC049E] Increment Decrement一个序列 \(A\) 有一个权值:序列 \(a\) 元素都等于 \(0\),能进行若干次操作单点加 \(1\) 或 \(-1\),花费为 \(1\)。 区间加 \(1\) 或 \(-1\),花费为 \(C\)。\(a\) 变成 \(A\) 的最小花费,即为 \(A\) 的权值。 给 \(n\) 个长 \(k\) 的序列 \(…...

汇编语言[王爽]-02 寄存器

14个寄存器,都是16位 AX BX CX DX SI DI SP BP IP CS SS DS ES PSW 通用寄存器:AX BX CX DX 段寄存器:CS DS SS ES cpu分段寻址 8086是16位机,寄存器,运算器,寄存器与运算器的通路都是16位的,那么又是如何达到20位的地址总线宽度的呢。答案是使用分段寻址 物理地址= 段地…...

汇编语言[王爽]-03 寄存器(内存访问)

内存视图内存由低至高从上往下画 栈的生长方向:高地址向低地址 小端存储:高位存放在高地址,低位存放在低地址书写的时候高位在左边。 4E20H 存储单元高地址在右边。 0 - 3 : 20 4E 12 00mov指令 mov ax,1000h mov ds,ax mov [0],bx #传送字型数据内存单元以ds为段基址 不能…...

汇编语言[王爽]-05 [BX]和loop指令

loop指令实现循环 执行过程: ①(cx)=(cx)-1 ②判断 cx 中的值,不为零则转至标号处执行程序,如果为零则向下执行。 例:计算2^12 assume cs:codesegcodeseg segmentmov ax,2#-------做11次add ax,ax----------mov cx,11 s:add ax,axloop s#--------------------------------m…...

完整教程:YOLO数据集格式转换工具v1.0-微智启软件工作室

完整教程:YOLO数据集格式转换工具v1.0-微智启软件工作室pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", mo…...

2.docker 安装

系统环境 wind(wsl ) Ubuntu 安装Docker...

树形DP2F

T1 树的直径 我们使用\(f[u]\)表示以\(u\)为根的子树,向下延伸的最远距离 那么\(f[u]\)的初始值为0,表示\(u\)能向下延伸的最远距离是自己,\(f[u]=0\) \(ans=max(ans,f[u]+f[v]+w)ans\)表示直径 错误1 如果有负边权,所以我把\(f[u]\)的初值设置成为一个极小值,这样的话,和…...

搞定SPI开发:硬件设计精讲与CH390H示例应用

想要轻松搞定SPI开发?聚焦硬件设计关键要点,结合CH390H芯片示例,带你从理论到实践,全面掌握SPI开发技术。 本文以Air780EPM为例,分享SPI接口的开发注意事项及硬件设计要点。 一、Air780EPM的SPI功能支持 在Air780EPM中,SPI接口通过特定GPIO引脚实现,需结合LuatOS的API进…...

Qt-摄像头捕获画面

Qt-摄像头捕获画面在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和两个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头和捕获当前帧的画面,label用于显示摄像头捕获的画面。//需要在.pro文件中加上multimedia multimediawidgets QT …...

我开发的软件和开源/免费软件

一、我开发的软件 1.软件目录 2.下载地址 通过网盘分享的文件: 链接:https://pan.baidu.com/s/1PiK9OhZs_mSjd5PcXRig4Q?pwd=dyzj 提取码:dyzj 复制这段内容后打开百度网盘手机App,操作更方便哦二、开源/免费软件Everything.zip(电脑文件搜索软件) ScreenToGif录屏工具 O…...

PostgreSQL中级认证,PG证书官网查询

Oracle数据库的认证行业皆知,它分为OCA、OCP和OCM三种代表着初中高三个级别,证书可以在Oracle官网查询;PostgreSQL数据库的认证也是类似,分为PGCA、PGCP和PGCM三种,如果是工信部人才交流中心的PG认证,可以在工信人才官网查询,查询网址:www.miitec.cn 一、工信部人才交流…...

LLaMA-Adapter - 详解

LLaMA-Adapter - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 14…...

查看安装软件版本的命令

java -version allure --version pip3 --verison...

ubuntu 20.04安装mysql 5.7

环境Os:ubuntu 20.04 desktop桌面版mysql:mysql-5.7.42-linux-glibc2.12查看操作系统信息root@db:/soft# ldd --version ldd (Ubuntu GLIBC 2.31-0ubuntu9) 2.31 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying condit…...

企业微信逆向开发协议,ipad协议调用方式

企业微信逆向开发协议,ipad协议调用方式企业微信ipad协议接口,已经实现了企业微信pc端所有功能。 【初始化】:初始化企业微信、设置消息回调、获取运行中的实例、根据uuid查看实例详情 【登录】: 获取登录二维码、输入验证码设置、 自动登录、退出登录、获取二次验证二维码…...

OpenStack Nova Scheduler 计算节点选择机制

Nova Scheduler 的核心任务是解决“虚拟机实例在哪个计算节点上启动”的问题,它根据用户通过 flavor 提出的资源需求(如 CPU、内存、磁盘)来做出决策。其默认的调度器是 Filter Scheduler,工作流程主要分为过滤 (Filtering) 和称重 (Weighting) 两个阶段。 1、整体流程 1.1…...

记一种很新的 bitset

bitset 可以维护位移和或。 我们可以扩展他一下,变成值域为 \([0,2^k)\),然后每次操作是位移和对位相加然后对 \(2^k-1\) 取 \(\min\)。 我们每一位取 \(k+1\) 个 \(\text{bit}\),每次加起来后把第 \(k+1\) 位或到前面,然后再与掉就可以了。 复杂度 \(\dfrac {n\log k}\ome…...

基于yolo12进行深度学习的机动车车牌检测

本文介绍了一个基于YOLOv12深度学习的机动车车牌检测系统。该系统采用PyQt5构建图形界面,支持图片和视频输入,能实时检测并分割车牌区域,同时提供结果保存功能。项目使用约1300张包含多角度、多颜色变化的车牌图像进行训练,提升模型鲁棒性。代码部分详细展示了界面设计、YO…...

有向图强连通分量

相关定义 若有向图的 \(u, v\) 两点互相可达,则称 \(u, v\) 强连通。满足任意两点强连通的有向图为 强连通图。有向图的极大强连通子图称作 强连通分量(SCC)。 以下讨论时默认图为有向弱连通图(弱连通即将有向边看作无向边时连通)。 DFS 树 对于有向图,按照任意顺序对结点…...

Kafka 消费者元数据topicId变化问题

遇到问题程序启动后, 短时间内没有数据2025-09-15 15:09:44,214 INFO org.apache.kafka.clients.Metadata [] - [Consumer clientId=flink-test-2, groupId=flink-test] Resetting the last seen epoch of partition ykkafka-3 to 0 since the as…...

【SPIE出版】第五届生物医学与生物信息工程国际学术会议(ICBBE 2025)

第五届生物医学与生物信息工程国际学术会议(ICBBE 2025)将于2025年9月26-28日在中国沈阳召开。【ICBBE 2025已成功申请到SPIE独立出版,稳定EI, Scopus检索!】 【北京大学一级教授莅临本会,欢迎专家学者积极报名参会,即享现场直面交流机会,助力大家求学/科研之路!】 第五…...

Qoder 全新「上下文压缩」功能正式上线,省 Credits !

Qoder 全新「上下文压缩」功能正式上线,高效管理会话上下文,节省开发成本,同时保持高效协作!你是否经历过与 AI Coding 工具协作编程时,对话越来越长,回答却开始变慢,甚至跑偏?在使用 AI Coding 工具过程中,是否觉得 tokens 消耗过快,越来越不经用? Qoder 全新「上下…...

journald 持久化 + 限额脚本

#!/usr/bin/env bash # --------------------------------------------------------- # Enable persistent systemd-journald logs with disk limits # Tested on: AlmaLinux 9 / CentOS Stream 9 # Author: 四点 # ---------------------------------------------------------…...