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

Docker搭建Skywalking

Docker搭建Skywalking

  • 虚拟机IP192.168.0.109
  • Nacos服务地址http://192.168.0.109:8848/nacos
  • MySQL服务
    • IP:192.168.0.109
    • 端口:3306
    • 用户名:root
    • 密码:root
  • ElasticSearch服务:
    • IP:192.168.0.109
    • 端口:9200
    • 用户名:elastic
    • 密码:123456
    • 容器使用的Docker网络:docker network create elastic-net
    • 容器名称: elasticsearch
  • Kibana服务:
    • IP:192.168.0.109
    • 端口:5601
    • 用户名:elastic
    • 密码:123456
    • 测试地址:http://192.168.0.109:5601

准备工作

  1. 先准备配置目录和持久化目录,举个栗子:mkdir -p /opt/module/skywalking/{config,data,logs}
  2. 解决 SkyWalking 容器 Permission denied(权限被拒绝)的错误,chmod -R 777 /opt/module/skywalking

拉取官方Skywalking镜像

# 拉取 OAP 服务镜像
docker pull apache/skywalking-oap-server:8.9.0# 拉取 UI 服务镜像
docker pull apache/skywalking-ui:8.9.0
  • 注意:oap版本和agent版本需要适配,版本不适配可能会出现页面无法访问、agent上报不到页面等问题。

部署 SkyWalking OAP 服务器

0. 启动临时容器【通过创建一个临时的测试容器来复制配置文件,反推配置】
docker run \-d -p 11800:11800 -p 12800:12800  \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

说明

  • 11800:OAP 服务端口。
  • 12800:SkyWalking UI 服务端口。
  • --restart always:容器自动重启策略。
目录结构说明
路径说明
/skywalking/config配置文件目录
/skywalking/logs日志文件目录
/skywalking/data数据存储目录
复制 SkyWalking 配置文件到宿主机
docker cp skywalking-oap:/skywalking/config     /opt/module/skywalking
docker cp skywalking-oap:/skywalking/logs       /opt/module/skywalking
docker cp skywalking-oap:/skywalking/data       /opt/module/skywalking# 如果需要导出所有文件
docker cp skywalking-oap:/skywalking     /opt/module
移除临时容器
docker stop skywalking-oap
docker rm skywalking-oap

1. 使用默认存储(H2 数据库)

启动 SkyWalking OAP 容器,使用 H2 数据库作为存储:

docker run \-d -p 11800:11800 -p 12800:12800  \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

说明:如果不指定存储类型,默认使用 H2 数据库。

容器内主要目录和文件说明
目录/文件名说明
bin启动脚本及其他可执行工具,如 startup.shstop.sh
config配置文件目录,包含关键配置文件,如 application.yml(OAP 核心配置)。
config-examples配置示例目录,包含模板配置,便于用户参考。
docker-entrypoint.sh容器启动脚本,用于初始化和启动 SkyWalking OAP 服务。
ext-config扩展配置文件目录,用于自定义扩展配置。
ext-libs扩展库目录,用于添加插件或依赖库。
LICENSESkyWalking 项目的开源许可证文件。
licenses项目中使用的所有依赖库的许可证集合。
oap-libsOAP 组件所需的依赖库文件夹。
README.txt项目介绍文件,包含操作指南。
tools工具目录,包含与 SkyWalking 相关的实用工具。
zipkin-LICENSEZipkin 集成相关的许可证信息。
核心目录说明
  1. config
    • 包含 application.yml,用于配置存储后端、服务等。
  2. oap-libs
    • SkyWalking OAP 的运行时依赖库,一般不需要手动修改。
  3. logs
    • 日志目录,存储运行日志,便于排查问题。
  4. ext-libsext-config
    • 可以添加插件或自定义扩展配置,灵活性高。

2. 使用 ElasticSearch 存储

方式 1:通过 Docker 启动 SkyWalking OAP 服务并使用 ElasticSearch 存储

docker run -d \-p 11800:11800 \-p 12800:12800 \-e SW_STORAGE=elasticsearch \-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \-e SW_ES_USER=elastic \-e SW_ES_PASSWORD="\"123456\"" \--link elasticsearch:elasticsearch \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

方式 2:通过 Docker 启动 SkyWalking OAP 服务并使用 ElasticSearch 存储【这里直接使用之前ES容器的网络es-net

docker run -d \-p 11800:11800 \-p 12800:12800 \-e SW_STORAGE=elasticsearch \-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \-e SW_ES_USER=elastic \-e SW_ES_PASSWORD="\"123456\"" \--net es-net \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

注意:

  • -e SW_ES_PASSWORD这里的密码值 "\"123456\"",额外的引号确保其被正确解析为字符串。

方式 3:直接指定 ElasticSearch 服务的 IP 地址

docker run \-d -p 11800:11800 -p 12800:12800 \-e TZ=Asia/Shanghai \-e SW_STORAGE=elasticsearch \-e SW_STORAGE_ES_CLUSTER_NODES=[ES的IP]:9200 \-e SW_ES_USER=elastic \-e SW_ES_PASSWORD="\"123456\"" \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

说明

  • SW_STORAGE=elasticsearch:指定使用 ElasticSearch 存储。
  • SW_STORAGE_ES_CLUSTER_NODES:指定 ElasticSearch 服务地址,可以是容器内的服务名(例如 elasticsearch:9200)或外部服务的 IP 地址(例如 [ES的IP]:9200)。
  • SW_ES_USERSW_ES_PASSWORD:用于连接 ElasticSearch 的认证信息。
方式 4:使用挂载配置文件启动(自定义 application.yml 配置)

如果您希望使用自定义配置文件 application.yml,可以将其挂载到容器中:

docker run -d \-p 11800:11800 \-p 12800:12800 \-v /opt/module/skywalking/config/application.yml:/skywalking/config/application.yml \-e SW_STORAGE=elasticsearch \-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \-e SW_ES_USER=elastic \-e SW_ES_PASSWORD="\"123456\"" \--link elasticsearch:elasticsearch \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0

环境变量

  • 可以使用 SW_STORAGE_ES_CLUSTER_NODES 来指定 ElasticSearch 集群的节点地址。如果是使用容器内部网络,可以用容器的名称代替 IP 地址(例如 elasticsearch:9200)。
  • SW_ES_USERSW_ES_PASSWORD 用于认证信息。如果在生产环境中使用,请确保密码存储方式安全,避免通过环境变量暴露敏感信息。

挂载配置文件

  • 使用 -v 选项将本地的 application.yml 配置文件挂载到容器中,这样可以灵活配置 SkyWalking 的各项参数,避免每次修改环境变量。

网络连接

  • 使用 --link elasticsearch:elasticsearch 来连接 Docker 容器间的网络。但建议使用 Docker 网络来替代 --link,因为 --link 已被弃用。可以通过创建自定义网络来进行容器间的连接。

3. 使用 MySQL 存储(推荐✨)
  1. 在 MySQL 创建 SkyWalking 数据库

    CREATE DATABASE skywalking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  2. 配置 MySQL 驱动

    SkyWalking 需要 MySQL JDBC 驱动来连接 MySQL 数据库。如果您使用的是 MySQL 8,可能需要手动将 mysql-connector 驱动文件导入到 skywalking-oap 容器中。

    1. 准备驱动文件
      mysql-connector-java-8.0.18.jar 文件放到服务器的任意位置,例如 /root

    2. 拷贝到 Docker 容器
      使用 docker cp 命令将驱动文件传入 SkyWalking OAP 容器:

      docker cp /root/mysql-connector-java-8.0.18.jar skywalking-oap:/skywalking/oap-libs
      

    注意要查看一下你使用的skywalking-oap容器中是否有 MySQL8的jar包, 如果有mysql-connector-java-8.0.X.jar那么就跳过这个步骤

    # 检查是否有适配的驱动
    docker exec -it skywalking-oap ls -l /skywalking/oap-libs
    
  3. 启动 SkyWalking OAP 服务,使用 MySQL 存储数据

    docker run \-d -p 11800:11800 -p 12800:12800 \-e SW_STORAGE=mysql \-e "SW_JDBC_URL=jdbc:mysql://mysql:3306/skywalking?useUnicode=true&characterEncoding=UTF-8&useSSL=false" \-e SW_DATA_SOURCE_USER=root \-e SW_DATA_SOURCE_PASSWORD=root \-v /opt/module/skywalking/config:/skywalking/config \-v /opt/module/skywalking/oap-libs:/skywalking/oap-libs \--link mysql:mysql \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0
    

说明

  • SW_STORAGE=mysql:指定使用 MySQL 存储。

  • SW_JDBC_URL:MySQL JDBC 连接 URL,格式为:

    jdbc:mysql://<MySQL服务地址>:<端口>/<数据库名>?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    

    示例中 mysql 是 Docker 服务名,3306 是默认端口。

  • SW_DATA_SOURCE_USERSW_DATA_SOURCE_PASSWORD:MySQL 数据库的用户名和密码。

  • --link mysql:mysql:通过 Docker 的 --link 参数连接 MySQL 服务(需确保 MySQL 服务已启动且可访问)。

注意事项

  • MySQL 地址和端口:确保替换 mysql:3306 为实际的 MySQL 地址和端口。如果 MySQL 服务在本地运行,可以替换为 localhost:3306,如果是远程数据库,则替换为对应的远程地址。
  • 提前创建数据库:在执行启动命令之前,确保 MySQL 数据库中已经创建了 skywalking 数据库。你可以根据需要调整数据库名称和字符集。
  • MySQL 版本兼容性:确保你使用的 MySQL 版本与 SkyWalking OAP 兼容,建议使用 MySQL 5.7 以上版本。

4. 可选配置:自定义参数或挂载配置文件
  1. 修改JVM堆内存大小

    docker run \-d -p 11800:11800 -p 12800:12800 \-e JAVA_OPTS="-Xmx2g" \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0
    
  2. 挂载本地配置文件

    将配置文件放在/opt/module/skywalking/config/application.yml路径,启动命令如下:

    docker run \-d -p 11800:11800 -p 12800:12800 \-v /opt/module/skywalking/config/application.yml:/skywalking/config/application.yml \--name skywalking-oap \--restart always \apache/skywalking-oap-server:8.9.0
    

    注意:确保挂载路径和配置文件内容正确无误。


部署 SkyWalking UI

SkyWalking UI 提供了一个基于 Web 的界面,用于可视化 OAP 服务器收集的遥测数据。

方式 1:通过 Docker 启动 SkyWalking UI 服务

docker run \-d -p 8080:8080 \-e SW_OAP_ADDRESS=http://skywalking-oap:12800 \--link skywalking-oap:skywalking-oap \--name skywalking-ui \--restart always \apache/skywalking-ui:8.9.0

浏览器访问:http://<主机IP>:8080

说明

  • UI 服务默认访问地址为 http://<主机IP>:8080
  • UI 可监控 SkyWalking OAP 服务的运行状态及指标数据。
  • 启动后左侧菜单可能较少,需等待上报数据后才能显示完整菜单。
  • 查询数据时,请确认右上角的时间区间是否正确。

如果8080端口被占用,这里可以替换成其他的端口 例如: -p 28080:8080

方式 2:通过 Docker 启动 SkyWalking UI 服务(使用自定义网络 es-net

docker run \-d -p 8080:8080 \-e SW_OAP_ADDRESS=http://skywalking-oap:12800 \--net es-net \--name skywalking-ui \--restart always \apache/skywalking-ui:8.9.0

查看启动日志

docker logs -f skywalking-oap
docker logs -f skywalking-ui# 查看最近 20 行日志
docker logs -f -t --tail 20 skywalking-oap
docker logs -f -t --tail 20 skywalking-ui

进入skywalking-oap、skywalking-ui容器内部

docker ps     # 查看正在运行的容器,并得到 容器id# 进入tomcat容器内部
docker exec -it [容器id] /bin/bash  # 中间那个是容器id 就是 CONTAINER_ID
docker exec -it [容器id] /bin/sh
#  -it 表示进入
docker exec -it skywalking-oap /bin/sh
docker exec -it skywalking-ui  /bin/sh
# 使用 命令别名 开启 ll命令
cat <<EOF >> /etc/profile
alias ll='ls -l --color=tty'
alias grep='grep --color=auto'
EOFsource /etc/profile

查看防火墙【开放端口】

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
firewall-cmd --query-port=11800/tcp
firewall-cmd --query-port=12800/tcp# 开放80、443端口
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=11800/tcp
firewall-cmd --permanent --add-port=12800/tcp# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --permanent --remove-port=11800/tcp
firewall-cmd --permanent --remove-port=12800/tcp# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload# 查看已经开发那些端口
firewall-cmd --list-ports
firewall-cmd --zone=public --list-ports

测试

#浏览器中服务器
http://虚拟机IP:8080

查看日志

查看 SkyWalking OAP 日志
docker logs -f skywalking-oap
查看 SkyWalking UI 日志
docker logs -f skywalking-ui

停止并删除容器

停止并删除 OAP 容器
docker stop skywalking-oap
docker rm skywalking-oap
停止并删除 UI 容器
docker stop skywalking-ui
docker rm skywalking-ui

结论

以上步骤完成后,您已成功配置Apache SkyWalking的OAP服务器和UI。可以选择使用H2、Elasticsearch或MySQL作为存储,通过SkyWalking UI监控系统运行情况。

相关文章:

Docker搭建Skywalking

Docker搭建Skywalking 虚拟机IP&#xff1a;192.168.0.109Nacos服务地址&#xff1a;http://192.168.0.109:8848/nacosMySQL服务&#xff1a; IP&#xff1a;192.168.0.109端口&#xff1a;3306用户名&#xff1a;root密码&#xff1a;root ElasticSearch服务&#xff1a; IP&a…...

Vue axios 异步请求,请求响应拦截器

在 Vue.js 中使用 axios 进行网络请求是非常常见的做法&#xff0c;因为它提供了比原生的 Fetch API 更丰富的功能&#xff0c;并且更易于处理错误和配置。结合 Axios 的拦截器功能&#xff0c;你可以对所有的请求或响应进行预处理&#xff0c;比如添加认证头信息、统一处理错误…...

解决 ffmpeg “Unknown encoder ‘hevc_nvenc‘“

目录 项目场景: 问题描述 原因分析: 解决方案: 项目场景: ffmpeg 剪切视频 问题描述 详细报错: [vost#0:0 @ 0x46ae00] Unknown encoder hevc_nvenc 原因分析: ffmpeg 安装错误 解决方案: 重新安装ffmpeg: conda install ffmpeg 检查当前安装的 FFmpeg 是否支…...

Kafka安全优化文档:漏洞修复到安全加固

文章目录 1.1.漏洞修复1.1.1.Apache Kafka反序列化漏洞1.1.2.pm2-kafka代码执行漏洞1.1.3.Apache Kafka安全绕过漏洞1.1.4.Apache Kafka Distribution - Schema Repository跨站请求伪造漏洞1.1.5.Apache Kafka输入验证错误漏洞的补丁1.1.6.Apache Kafka信息泄露漏洞1.1.7.Apach…...

Django 中数据库迁移命令

在 Django 中&#xff0c;python manage.py makemigrations、python manage.py sqlmigrate polls 0003 和 python manage.py migrate 是与数据库迁移相关的重要命令。它们的作用和对应内容如下&#xff1a; 1. python manage.py makemigrations 功能: 此命令会根据你的模型文…...

2024 高通边缘智能创新应用大赛智能边缘计算赛道冠军方案解读

2024 高通边缘智能创新应用大赛聚焦不同细分领域的边缘智能创新应用落地&#xff0c;共设立三大热门领域赛道——工业智能质检赛道、智能边缘计算赛道和智能机器人赛道。本文为智能边缘计算赛道冠军项目《端侧大模型智能翻译机》的开发思路与成果分享。 赛题要求 聚焦边缘智能…...

前端超大缓存IndexDB、入门及实际使用

文章目录 往期回顾项目实战初始化表获取列表新增表的数据项获取详情根据ID获取详情根据其他字段获取详情 删除数据 总结 往期回顾 在之前的文章中&#xff0c;我们介绍了IndexDB vs Cookies vs Session这几个的对比&#xff0c;但是没有做实际项目的演示&#xff0c;今天我们用…...

[创业之路-229]:《华为闭环战略管理》-5-平衡记分卡与战略地图

目录 一、平衡记分卡 1. 财务角度&#xff1a; 2. 客户角度&#xff1a; 3. 内部运营角度&#xff1a; 4. 学习与成长角度&#xff1a; 二、BSC战略地图 1、核心内容 2、绘制目的 3、绘制方法 4、注意事项 一、平衡记分卡 平衡记分卡&#xff08;Balanced Scorecard&…...

形象地理解UE4中的数据结构 TLinkedListBase

大家都熟知链表&#xff0c;但不一定能快速看懂UE4中的数据结构。 TLinkedListBase表示“链接”中的一个结点&#xff0c;有三个成员&#xff1a; 一、ElementType Element; 表示具体的业务&#xff0c;例如int链条中的一个整数。 二、NextLink 表示 “下一个Node”&#…...

如何在谷歌浏览器中创建安全的密码

在数字化时代&#xff0c;网络安全变得日益重要。谷歌浏览器提供了多种工具和功能帮助用户创建和管理强密码&#xff0c;确保在线账户的安全。本文将简要介绍几种方法&#xff0c;帮助您在谷歌浏览器中创建和管理安全密码。 一、启用自动填充功能 确认密码保存功能已开启&…...

Nginx1.20.2-Linux-安装

文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本&#xff0c;指定编译路径为/usr/local/nginx 5.编译并安装6.…...

网页版3D预览插件3dfindit

需求背景 如果你需要在浏览器上显示3D的模型&#xff0c;那么你可以看看这个3dfindit。不需要专业的代码开发&#xff0c;上传模型或者图片就行&#xff0c;他会自动生成3D预览。 效果图 // 效果图预览地址https://ksb-embedded.partcommunity.com/3d-cad-models/boa-compact…...

产品经理2025年展望

产品经理作为连接技术、设计与市场需求的桥梁&#xff0c;在快速变化的商业环境中扮演着至关重要的角色。展望2025年&#xff0c;随着技术的不断进步和消费者需求的日益多样化&#xff0c;产品经理的工作将面临更多挑战与机遇。 一、人工智能与自动化深化应用&#xff1a; 到…...

计算机找不到xinput1_3.dll无法执行怎么办?电脑缺失xinput1_3.dll文件怎么修复?

当计算机提示找不到xinput1_3.dll文件&#xff0c;导致某些程序或游戏无法执行时&#xff0c;可以采取以下步骤来修复这个问题&#xff1a; 一、了解xinput1_3.dll文件 xinput1_3.dll是Microsoft DirectX for Windows的控制模块&#xff0c;它包含了一组函数和数据结构&#…...

揭秘 Fluss 架构组件

这是 Fluss 系列的第四篇文章了&#xff0c;我们先回顾一下前面三篇文章主要说了哪些内容。 Fluss 部署&#xff0c;带领大家部署Fluss 环境&#xff0c;体验一下 Fluss 的功能Fluss 整合数据湖的操作&#xff0c;体验Fluss 与数据湖的结合讲解了 Fluss、Kafka、Paimon 之间的…...

你了解DNS吗?

你了解DNS吗&#xff1f; 一. 介绍二. DNS的工作原理三. DNS查询流程示意图四. DNS 记录类型五. DNS的安全问题与 DNSSEC 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一. 介绍 …...

pyinstaller打包exe可执行文件

cd命令符进入要打包文件路径下&#xff0c;执行&#xff1a; 1.打包单个py文件&#xff0c;在控制台执行;dist下会生成2个文件&#xff0c;一个是exe文件 pyinstaller -D happy.py (cd命令符进入要打包文件路径下&#xff0c;执行) 打包单个py文件&#xff0c;在控制台执行;…...

leetcode108:将有序数组转化为二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确…...

rust学习-初识rust

rust学习-初识rust 什么是 Rust&#xff1f;Rust 的特点什么是 Cargo&#xff1f;Cargo 的主要功能使用 Cargo 创建和管理项目Cargo.toml 文件详解常用 Cargo 命令什么是 Rustup&#xff1f;Rustup 的主要功能安装 Rustup验证安装使用 Rustup 管理工具链使用 Rustup 管理目标平…...

word怎么添加链接,点击直接到参考文献

word怎么添加链接,点击直接到参考文献 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 在Word中添加点击可直接跳转到参考文献的链接,主要有以下两种方法: 使用交叉引用和超链接结合的方法 插入参考文献: 首先,在文档中需要插入参考…...

数字赋能:制造企业如何靠“数字能力”实现可持续“超车”?

如今&#xff0c;制造业数字化转型可是个热门话题&#xff0c;全球都在积极推进。我国更是出台了一系列给力的政策来助力制造业数字化转型&#xff0c;像《中国制造 2025》就明确提出要加快制造业数字化、网络化、智能化发展&#xff0c;各省市也纷纷响应&#xff0c;从资金、税…...

C++——deque的了解和使用

目录 引言 标准库中的deque 一、deque的基本概念 二、deque的常用接口 1.deque的迭代器 2.deque的初始化 3.deque的容量操作 3.1 有效长度和容量大小 3.2 有效长度和容量操作 4.deque的访问操作 5.deque的修改操作 三、deque的应用场景 结束语 引言 在C中&#x…...

vue使用el-select下拉框自定义复选框

在 Vue 开发中&#xff0c;高效且美观的组件能极大地提升用户体验和开发效率。在vue中使用elementplus 的 el-select下拉框实现了一个自定义的多选下拉框组件。 一、代码功能概述 这段代码创建了一个可多选的下拉框组件&#xff0c;通过el-select和el-checkbox-group结合的方…...

《探秘开源大模型:AI 世界的“超级引擎”》

《探秘开源大模型:AI 世界的“超级引擎”》 一、开源大模型崛起之路二、开源大模型发展历程回顾(一)早期奠基:理论突破与初步实践(二)快速发展:百花齐放的模型格局(三)当下态势:走向成熟与多元融合三、开源大模型核心技术剖析(一)Transformer 架构:基石之稳(二)…...

浏览器跨域原因及解决方式

一、为什么会有跨域 浏览器的同源策略 用于限制一个源的文档或它所加载的脚本如何能与另一个源交互。 它能帮助阻隔恶意文档&#xff0c;减少可能被攻击的媒介 二、什么是同源 两个url&#xff0c;只要它们的协议、域名、端口有一个不相同&#xff0c;就会导致跨域&#xf…...

如何解决Eigen和CUDA版本不匹配引起的错误math_functions.hpp: No such file or directory

Apollo9针对RTX40的docker环境里的Eigen库版本是3.3.4&#xff0c;CUDA是11.8: 编译我们自己封装模型的某些component代码时没问题&#xff0c;编译一个封装occ模型的component代码时始终报错: In file included from /usr/include/eigen3/Eigen/Geometry:11:0, …...

[服务器][教程]Ubuntu24.04 Server开机自动挂载硬盘教程

1. 查看硬盘ID ls -l /dev/disk/by-uuid可以看到对应的UUID所对应的分区 2. 创建挂载文件夹 创建好文件夹即可 3. 修改配置文件 sudo vim /etc/fstab把对应的UUID和创建的挂载目录对应即可 其中# Personal mount points下面的是自己新添加的 &#xff1a;分区定位&#xff…...

idea项目导入gitee 码云

1、安装gitee插件 IDEA 码云插件已由 gitosc 更名为 gitee。 1 在码云平台帮助文档http://git.mydoc.io/?t153739上介绍的很清楚&#xff0c;推荐前两种方法&#xff0c; 搜索码云插件的时候记得名字是gitee&#xff0c;gitosc已经搜不到了。 2、使用码云托管项目 如果之…...

前端页面展示本电脑的摄像头,并使用js获取摄像头列表

可以通过 JavaScript 使用 navigator.mediaDevices.enumerateDevices() 获取电脑上的摄像头列表。以下是一个示例代码&#xff0c;可以展示摄像头列表并选择进行预览。 HTML JavaScript 实现摄像头列表展示和预览 <!DOCTYPE html> <html lang"zh-CN">…...

小米自研vela系统kvdb数据库的使用(一)

KVDB数据库介绍 KVDB 数据库详细介绍KVDB 的基本原理 KVDB 的应用场景1. 缓存系统2. 配置管理3. 会话存储与用户状态管理4. 实时数据处理5. 日志记录与事件存储6. 分布式存储 KVDB 的作用KVDB 数据库的典型实现1. LevelDB2. RocksDB3. LMDB (Lightning Memory-Mapped Database)…...

Python 中的 `iter` 函数

因为在jax的代码接触了这个函数&#xff0c;不是很熟悉&#xff0c;每次看见名字只知道是迭代但是不知道是怎么迭代&#xff0c;因此写下以下笔记提醒自己。 def iter(source, sentinelNone): # known special case of iter"""iter(iterable) -> iteratorit…...

【AIGC】电话录音转文字实践:基于Google Cloud Speech-to-Text-v1的技术方案Python

引言 在当今数字化时代&#xff0c;将语音内容转换为文字已经成为一个非常重要的技术需求。无论是客服通话记录、会议纪要&#xff0c;还是电话采访内容&#xff0c;高效准确的语音转文字服务都能大大提升工作效率。本文将详细介绍如何利用Google Cloud Speech-to-Text服务实现…...

《AI赋能自由职业:开启竞争力提升新征程》

在当今数字化时代&#xff0c;AI技术为自由职业者带来了前所未有的机遇&#xff0c;使其能够在激烈的市场竞争中脱颖而出。以下是自由职业者借助AI提升自身竞争力的几种方法。 利用AI优化工作流程&#xff0c;提高效率 自动化任务处理&#xff1a;自由职业者可以借助自动化工具…...

学习vue3的笔记

一、vue和react的对比 1、基础介绍 vue&#xff1a;https://cn.vuejs.org/ vue3是2020年创建的 react&#xff1a;https://react.dev/ react是一个2013年开源的JavaScript库&#xff0c;严格意义上来说不是一个框架 2、diff算法 两个框架采用的都是同级对比策略 两节点对…...

为什么要用ZGC

一、为什么要用 ZGC 问题 我们有个“智慧园区”的项目,我们的下游系统“交叉带”[硬件系统]要求我们服务 60ms内返回结果&#xff0c;并且可用性要达到 99.99%。当时使用的是 G1垃圾回收器&#xff0c;单次 Young GC 40ms&#xff0c;一分钟10次&#xff0c;接口平均响应时间…...

rm误删掉的文件夹/文件如何恢复

Linux环境rm不小心误删掉文件/文件夹如何安全恢复&#xff0c;推荐tool&#xff1a;ext4magic(ext4 or ext3)&#xff0c;大家如果遇到误删的&#xff0c;希望可以帮到你。 误删了&#xff0c;最好要保留现场&#xff0c;如果能umout当前分区最好&#xff0c;不要在当前磁盘分…...

uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器

前言 uniapp&#xff0c;碰到新需求&#xff0c;反转摄像头&#xff0c;需要在打卡的时候对上传图片加上水印&#xff0c;拍照前就显示当前时间日期地点&#xff0c;拍摄后在呈现刚才拍摄的图加上水印&#xff0c;最好还需要将图片上传到阿里云。 声明 水印部分代码是借鉴的…...

南方电网场景中 Agent 的智慧赋能与创新实践(15/30)

一、南方电网的数字化变革浪潮 在当今时代&#xff0c;能源领域正经历着深刻的变革&#xff0c;南方电网作为我国电力供应的重要支柱&#xff0c;面临着诸多挑战与机遇。随着经济的快速发展&#xff0c;用电需求持续攀升&#xff0c;电力负荷峰谷差日益增大&#xff0c;给电网的…...

rk3399增加新分区和计算规则

如果想要添加一个新的分区&#xff0c;例如添加名为"userdata"的分区&#xff0c;大小为&#xff0c;除了预留6G的system文件系统根目录分区&#xff08;我这里是rootfs分区&#xff09;&#xff0c;剩下的空间全部给userdata。 需要首先确定这个分区的起始地址。这个…...

风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注

风力涡轮机缺陷检测数据集&#xff0c;86.6&#xff05;准确识别率&#xff0c;11921张图片&#xff0c;支持yolo&#xff0c;PASICAL VOC XML&#xff0c;COCO JSON格式的标注 数据集下载 yolov11&#xff1a; https://download.csdn.net/download/pbymw8iwm/90206849 yolov…...

计算机网络-L2TP VPN基础实验配置

一、概述 上次大概了解了L2TP的基本原理和使用场景&#xff0c;今天来模拟一个小实验&#xff0c;使用Ensp的网卡桥接到本地电脑试下L2TP拨号&#xff0c;今天主要使用标准的L2TP&#xff0c;其实在这个基础上可以加上IPSec进行加密&#xff0c;提高安全性。 网络拓扑 拓扑说明…...

QT集成IntelRealSense双目摄像头2,集成OpenGL

上一篇文章写了如何把IntelRealSense摄像头的SDK集成到QT项目&#xff0c;并成功采集数据&#xff0c;在没有用OpenCV的情况下完成色彩数据&#xff0c;以及深度数据的显示。 具体地址&#xff1a;https://blog.csdn.net/qujia121qu/article/details/144734163 本次主要写如何…...

MySQL数据库——索引结构之B+树

本文先介绍数据结构中树的演化过程&#xff0c;之后介绍为什么MySQL数据库选择了B树作为索引结构。 文章目录 树的演化为什么其他树结构不行&#xff1f;为什么不使用二叉查找树&#xff08;BST&#xff09;&#xff1f;为什么不使用平衡二叉树&#xff08;AVL树&#xff09;&a…...

基于SpringBoot+Vue的旅游推荐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

HTML——20 自定义属性

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>自定义属性</title></head><body><a href"https://ai.m.taobao.com" 自定义属性"属性值">淘宝网</a><a href"h…...

Java Day1回顾简介-----变量命名规则

Java 简介、开发环境配置 菜鸟教程 编译运行 javac HelloWorld.java java HelloWorld Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World");} }JAVA基础语法 类、对象、方法、实例、变量 对象&a…...

【Rust自学】8.2. Vector + Enum的应用

8.2.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&#xff0c;这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的&#xff0c;这也意味着这些集合的数据大小无需在编…...

机器算法之逻辑回归(Logistic Regression)详解

一、什么是逻辑回归&#xff1f; 逻辑回归并不是传统意义上的回归分析&#xff0c;而是一种用于处理二分类问题的线性模型。它通过计算样本属于某一类别的概率来进行分类&#xff0c;尽管名字中有“回归”二字&#xff0c;但它实际上是一种分类算法。简单来说&#xff0c;逻辑…...

UE5材质节点VertexNormalWs/PixelNormalWS

VertexNormalWs顶点法线方向&#xff0c;此节点可以做物体上积雪、青苔等效果 PixelNormalWS像素法线方向...

NPM组件包 vant部分版本内嵌挖矿代码

Vant 是一个轻量、可定制的移动端组件库&#xff0c;于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 Vant 2 版本&#xff1a;https://vant-ui.github.io/vant/v2/#/zh-CN/home V…...