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

【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署

文章目录

  • 一. 集群规划
  • 二.docker compose以及启动脚本
    • 卷映射
    • 对于网络
    • 环境变量
  • 三. 集群测试
    • 用户新建、赋权、库表初始化
    • 断电重启
    • 扩容 BE 集群

一. 集群规划

部署文档
https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/
在这里插入图片描述

分类描述
FE节点1. 主要负责元数据管理、客户端连接管理、查询计划和查询调度。
2. 三个节点实现高可用以及请求的流量转发, 对于请求的高可用和流量转发使用 nginx 实现。(对于单宿主机来说:这里的fe部署一个)
3. 建议为每个 FE 节点分配 8 个 CPU 内核和 16GB RAM,在大多数场景下,每个 FE 节点只需要 100GB 的 HDD 存储。
BE节点1. 负责数据存储和 SQL 执行。
2. 对于 StarRocks 生产集群,建议至少部署三个 BE 节点,这些节点会自动形成一个 BE 高可用集群,避免单点故障影响数据可靠性和服务可用性。
3. 建议为每个 BE 节点分配 16 个 CPU 内核和 64GB RAM。
4. StarRocks 集群所有 BE 节点所需的
– 总存储空间 = 原始数据大小 x 数据副本数/数据压缩算法压缩比
– 原始数据大小 = 单行数据大小 x 总数据行数

说明
1.FE 节点:负责元数据管理、客户端连接、查询调度等任务,配置要求较低。
2.BE 节点:负责数据存储和 SQL 查询执行,配置要求较高,尤其是 CPU 和内存。
3.存储空间估算公式:根据数据大小、数据副本数和压缩比来计算 BE 节点的存储需求。

 

二.docker compose以及启动脚本

参考:
https://github.com/StarRocks/demo/blob/master/deploy/docker-compose/docker-compose-3BE.yml

# 定义starrocks be共用配置
x-starrocks-be-common: &starrocks-be-commonimage: starrocks/be-ubuntu:3.2.12command:- /bin/bash- -c- |chmod +x /data/starrocks/be_entrypoint.sh/data/starrocks/be_entrypoint.sh starrocks-fe-0environment:- HOST_TYPE=FQDN- TZ=Asia/Shanghai- MYSQL_ROOT_PASSWORD=1111111depends_on:- starrocks-fe-0restart: alwaysnetworks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:services:# starrocks:1 fe 3bestarrocks-fe-0:image: starrocks/fe-ubuntu:3.2.12hostname: starrocks-fe-0container_name: starrocks-fe-0command:- /bin/bash- -c- |/opt/starrocks/fe_entrypoint.sh starrocks-fe-0environment:- HOST_TYPE=FQDN- TZ=Asia/Shanghai- MYSQL_ROOT_PASSWORD=radar_360ports:- "1030:8030"  # Frontend service port (HTTP)- "2020:9020"  # Backend service port (HTTP)- "3030:9030" # Frontend service port (MySQL)volumes:- './starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw'- './starrocks/fe-0/log:/opt/starrocks/fe/log:rw'restart: alwaysnetworks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:starrocks-be-0:<<: *starrocks-be-commonhostname: starrocks-be-0container_name: starrocks-be-0volumes:- './starrocks/be-0/storage:/opt/starrocks/be/storage:rw'- './starrocks/be-0/log:/opt/starrocks/be/log:rw'- './sr/bin:/data/starrocks:rwx'starrocks-be-1:<<: *starrocks-be-commonhostname: starrocks-be-1container_name: starrocks-be-1volumes:- './starrocks/be-1/storage:/opt/starrocks/be/storage:rw'- './starrocks/be-1/log:/opt/starrocks/be/log:rw'- './sr/bin:/data/starrocks:rwx'starrocks-be-2:<<: *starrocks-be-commonhostname: starrocks-be-2container_name: starrocks-be-2volumes:- './starrocks/be-2/storage:/opt/starrocks/be/storage:rw'- './starrocks/be-2/log:/opt/starrocks/be/log:rw'- './sr/bin:/data/starrocks:rwx'
networks:starrocks-network:driver: bridge

 

#!/bin/bashHOST_TYPE=${HOST_TYPE:-"IP"}
FE_QUERY_PORT=${FE_QUERY_PORT:-9030}
PROBE_TIMEOUT=60
PROBE_INTERVAL=2
HEARTBEAT_PORT=9050
MY_SELF=
MY_IP=`hostname -i`
MY_HOSTNAME=`hostname -f`
STARROCKS_ROOT=${STARROCKS_ROOT:-"/opt/starrocks"}
STARROCKS_HOME=${STARROCKS_ROOT}/be
BE_CONFIG=$STARROCKS_HOME/conf/be.conf
MYSQL_ROOT_PW=${MYSQL_ROOT_PASSWORD:-121111}log_stderr()
{echo "[`date`] $@" >&2
}update_conf_from_configmap()
{if [[ "x$CONFIGMAP_MOUNT_PATH" == "x" ]] ; thenlog_stderr 'Empty $CONFIGMAP_MOUNT_PATH env var, skip it!'return 0fiif ! test -d $CONFIGMAP_MOUNT_PATH ; thenlog_stderr "$CONFIGMAP_MOUNT_PATH not exist or not a directory, ignore ..."return 0filocal tgtconfdir=$STARROCKS_HOME/conffor conffile in `ls $CONFIGMAP_MOUNT_PATH`dolog_stderr "Process conf file $conffile ..."local tgt=$tgtconfdir/$conffileif test -e $tgt ; then# make a backupmv -f $tgt ${tgt}.bakfiln -sfT $CONFIGMAP_MOUNT_PATH/$conffile $tgtdone
}show_backends() {#先尝试无密码连接output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e 'SHOW BACKENDS;')if [ $? -ne 0 ]; thenlog_stderr '使用密码进行尝试连接,检查be的状态'# 如果无密码连接失败,则使用密码进行连接output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e 'SHOW BACKENDS;')fiecho "$output"
}parse_confval_from_cn_conf()
{# a naive script to grep given confkey from cn conf file# assume conf format: ^\s*<key>\s*=\s*<value>\s*$local confkey=$1local confvalue=`grep "\<$confkey\>" $BE_CONFIG | grep -v '^\s*#' | sed 's|^\s*'$confkey'\s*=\s*\(.*\)\s*$|\1|g'`echo "$confvalue"
}collect_env_info()
{# heartbeat_port from conf filelocal heartbeat_port=`parse_confval_from_cn_conf "heartbeat_service_port"`if [[ "x$heartbeat_port" != "x" ]] ; thenHEARTBEAT_PORT=$heartbeat_portfiif [[ "x$HOST_TYPE" == "xIP" ]] ; thenMY_SELF=$MY_IPelseMY_SELF=$MY_HOSTNAMEfi}attempt_add_self() {# 第一次尝试执行命令output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root  --skip-column-names --batch -e "ALTER SYSTEM ADD BACKEND \"$MY_SELF:$HEARTBEAT_PORT\";")if [ $? -ne 0 ]; then# 如果第一次失败,添加密码log_stderr '使用密码进行尝试连接,来添加be到fe'output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e "ALTER SYSTEM ADD BACKEND \"$MY_SELF:$HEARTBEAT_PORT\";")fiecho "$output"
}add_self()
{local svc=$1start=`date +%s`local timeout=$PROBE_TIMEOUTwhile truedolog_stderr "Add myself ($MY_SELF:$HEARTBEAT_PORT) into FE ..."# 这里当root添加密码时,需要通过密码进行设置。#timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -pradar_360 --skip-column-names --batch -e "ALTER SYSTEM ADD BACKEND \"$MY_SELF:$HEARTBEAT_PORT\";"attempt_add_self# 查看be是否加入成功memlist=`show_backends $svc`if echo "$memlist" | grep -q -w "$MY_SELF" &>/dev/null ; thenbreak;filet "expire=start+timeout"now=`date +%s`if [[ $expire -le $now ]] ; thenlog_stderr "Time out, abort!"exit 1fisleep $PROBE_INTERVALdone
}svc_name=$1
if [[ "x$svc_name" == "x" ]] ; thenecho "Need a required parameter!"echo "  Example: $0 <fe_service_name>"exit 1
fiupdate_conf_from_configmap
collect_env_info
add_self $svc_name || exit $?
log_stderr "Add myself ($MY_SELF:$HEARTBEAT_PORT) into FE success!!!"
log_stderr "run start_be.sh"addition_args=
if [[ "x$LOG_CONSOLE" == "x1" ]] ; then# env var `LOG_CONSOLE=1` can be added to enable logging to consoleaddition_args="--logconsole"
fi
$STARROCKS_HOME/bin/start_be.sh $addition_args
ret=$?
if [[ $ret -ne 0 && "x$LOG_CONSOLE" != "x1" ]] ; thennol=50log_stderr "Last $nol lines of be.INFO ..."tail -n $nol $STARROCKS_HOME/log/be.INFOlog_stderr "Last $nol lines of be.out ..."tail -n $nol $STARROCKS_HOME/log/be.out
fi
exit $ret

 

卷映射

对于fe:
涉及到元数据(已存在的表、以及系统操作)和日志

volumes:  - './starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw'  - './starrocks/fe-0/log:/opt/starrocks/fe/log:rw'

 

对于be:
涉及到数据存储和日志

volumes:  - './starrocks/be-1:/opt/starrocks/be/storage:rw'  - './starrocks/be-1:/opt/starrocks/be/log:rw'

 

对于网络

要实现starrocks容器之间的内部通讯:主要是通过主机名+端口。

networks:  starrocks-network:  driver: bridge

 

环境变量

  • MYSQL_ROOT_PASSWORD=radar_360
    用于be容器启动时be添加到fe时的脚本使用。

 

三. 集群测试

用户新建、赋权、库表初始化

-- 1. root 创建密码  
-- 只能root自己创建密码 Can not set password for root user, except root itself.
SET PASSWORD FOR 'root' = PASSWORD('123456');  show users;  -- 2. 创建用户radar与密码  
CREATE USER 'radar' IDENTIFIED by 'radar_360';  
-- 新增密码和修改密码都可用此密码  
SET PASSWORD FOR 'root' = PASSWORD('1234567');  -- 3. 授予相关权限  
SHOW GRANTS;  
show roles;  
grant root to user radar;  
-- 激活角色  
-- 每一个链接会话中都需要执行  
-- #  Inactivated role(s): [user_admin, root].  
SET ROLE root;  
-- 创建库表  
create database middle;  -- 注意:  
-- 授权所有库表的权限,对于创建库没有权限  
GRANT ALL PRIVILEGES ON *.* TO 'radar';

 

断电重启

改造官方的docker启动脚本:主要涉及到给root设置密码之后,be添加到fe时的操作。

# 添加自己到fe
attempt_add_self() {  # 第一次尝试执行命令  output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root  --skip-column-names --batch -e "ALTER SYSTEM ADD BACKEND \"$MY_SELF:$HEARTBEAT_PORT\";")  if [ $? -ne 0 ]; then  # 如果第一次失败,添加密码  log_stderr '使用密码进行尝试连接,来添加be到fe'  output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e "ALTER SYSTEM ADD BACKEND \"$MY_SELF:$HEARTBEAT_PORT\";")  fi  echo "$output"  
}# 查看存在的be
show_backends() {#先尝试无密码连接output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e 'SHOW BACKENDS;')if [ $? -ne 0 ]; thenlog_stderr '使用密码进行尝试连接,检查be的状态'# 如果无密码连接失败,则使用密码进行连接output=$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e 'SHOW BACKENDS;')fiecho "$output"
}

 

扩容 BE 集群

be的启动脚本天然支持容器启动时就会将自己加入到Fe中,所以新增时,正常些docker compose即可,如下示例:

  starrocks-be-3:<<: *starrocks-be-commonhostname: starrocks-be-3container_name: starrocks-be-3volumes:- './starrocks/be-3/storage:/opt/starrocks/be/storage:rw'- './starrocks/be-3/log:/opt/starrocks/be/log:rw'- './sr/bin:/data/starrocks:rwx'

相关文章:

【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署

文章目录 一. 集群规划二.docker compose以及启动脚本卷映射对于网络环境变量 三. 集群测试用户新建、赋权、库表初始化断电重启扩容 BE 集群 一. 集群规划 部署文档 https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/ 分类描述FE节点1. 主要负责元数据管理、…...

联想ThinkServer服务器主要硬件驱动下载

联想ThinkServer服务器主要硬件驱动下载&#xff1a; 联想ThinkServer服务器主要硬件Windows Server驱动下载https://newsupport.lenovo.com.cn/commonProblemsDetail.html?noteid156404#D50...

Ansys Zemax Optical Studio 中的近视眼及矫正

近视&#xff0c;通常称为近视眼&#xff0c;是一种眼睛屈光不正&#xff0c;导致远处物体模糊&#xff0c;而近处物体清晰。这是一种常见的视力问题&#xff0c;通常发生在眼球过长或角膜&#xff08;眼睛前部清晰的部分&#xff09;过于弯曲时。因此&#xff0c;进入眼睛的光…...

三次握手后的数据传输

一旦三次握手成功完成&#xff0c;TCP连接便正式建立&#xff0c;双方可以开始传输数据。在这个阶段&#xff0c;TCP协议利用其独特的可靠性和流控机制&#xff0c;确保数据的有序、无差错传输。 序列号与确认号&#xff1a;在数据传输过程中&#xff0c;TCP会为每个报文段分配…...

企业OA管理系统:Spring Boot技术实现与案例研究

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足&#xff0c;创建了一个计算机管理企业OA管理系统的方案。文章介绍了企业OA管理系统的系统分析部…...

(免费送源码)计算机毕业设计原创定制:Java+JSP+HTML+JQUERY+AJAX+MySQL springboot计算机类专业考研学习网站管理系统

摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在大学生在线计算机类专业考研学习网站管理的要求下&#xff0c;开发一…...

Go语言工程测试的基本规则和流程

Go语言工程测试的基本规则和流程 在Go语言的工程实践中,测试是确保软件质量和稳定性的关键环节。本文将深入探讨Go语言中的工程测试,包括单元测试、性能测试和集成测试等,以及它们的编写规则、组织方式和执行流程。 单元测试(Unit Testing) 单元测试是针对软件中最小可…...

阿里云cdn配置记录和nodejs手动安装

cdn 登录阿里云 域名解析权限 开启cdn&#xff0c;接引导流程&#xff0c; 源可以设置 域名或者ip等 配置好域名解析 上传https证书 图片不显示&#xff0c;后端开发需要配置 回源配置的回源协议 &#xff0c;配置跟随客服端【如果浏览器多次重定向错误&#xff0c;客服或者改…...

PTC在电池中的作用

一、电池安全性的重要性 在现代电子设备中,电池作为能源储存和供应的核心组件,其性能和安全性一直是关注的重点。尤其是在锂离子电池等高能量密度电池的广泛应用中,电池发生过流、过热、短路等问题可能导致电池失效,甚至引发热失控和火灾等安全事故。因此,如何提高电池的…...

嵌入式C语言面试题 - 2024/11/18

欢迎找我进行职业规划&#xff0c;超值的自我投资 -> 嵌入式软件工程师一对一指导 转载请注明来源&#xff1a; 下边代码&#xff0c;x值是&#xff1f; int x10;x 3x%(3); 解析&#xff1a; 初始值&#xff1a;x 10 计算 x % 3&#xff1a; 10 % 3 的结果是 1&#…...

理解原子变量之四:可见性、memory_order_acquire与 memory_order_release

在理解原子变量之二&#xff1a;从volatile到内存序-进一步的认识-CSDN博客里的实例3里面&#xff0c;我们看到&#xff0c;如果在一个线程里修改原子变量done&#xff0c;另一个线程读取done时&#xff0c;就会看到这个变化。这就是原子变量的可见性。其实这个认识是不全面的。…...

requests的session

如果有cookie&#xff0c;能够自动关联&#xff0c;可以使用如下&#xff1a; session对象能够帮我们自动管理和传递cookie&#xff0c;但是后续的请求&#xff0c;必须使用session对象发起 session requests.session() re session.get() re session.post()或 session reque…...

MySQL面试题补

内连接和外连接的区别&#xff1a; ○1.功能和用法不同&#xff1a;内连接是连接两表都满足情况的数据&#xff1b;而外连接是以一边的表为主表&#xff0c;另一个表只显示匹配的行&#xff1b; ○2.用途&#xff1a;内连接一般是用于检索不同表需要根据共同的列值进行匹配的&a…...

Windows系统编程 - 进程遍历

文章目录 前言进程的遍历CreateToolhelp32SnapshotProcess32FirstProcess32Next进程遍历 总结 前言 各位师傅好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解进程遍历的相关知识点 进程的遍历 快照&#xff1a;使用vmware虚拟机的时候&#xff0c;经常需要配置环境服务…...

从零开始创建一个 Vue3+Vite+TS+Eslint项目

一、创建一个最简单的 Vue3 项目 pnpm create vuelatest只设置项目名&#xff0c;其它任何功能都不加。 二、引入 Typescript 详见 Vue3 Vite 项目引入 Typescript 三、引入 Eslint Pritter 详见 Vue3 Vite TS 项目引入 Eslint Pritter 四、配置自动导入插件引入 El…...

Python操作neo4j库py2neo使用(一)

Python操作neo4j库py2neo使用&#xff08;一&#xff09; 安装&#xff08;只用于测试&#xff09; docker-compose .yml 文件 version: 3.8 services:neo4j:image: neo4j:5.6.0-enterprise #商业版镜像hostname: neo4jcontainer_name: neo4jports:- "7474:7474"-…...

Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(二)

Oracle - 多区间按权重取值逻辑 &#xff0c;分时区-多层级-取配置方案https://blog.csdn.net/shijianduan1/article/details/133386281 某业务配置表&#xff0c;按配置的时间区间及组织层级取方案&#xff0c;形成报表展示出所有部门方案的取值&#xff1b; 例如&#xff0…...

leetcode刷题记录(四十二)——101. 对称二叉树

&#xff08;一&#xff09;问题描述 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/symmetric-tree/description/给你…...

AutoDL安装docker问题

在AutoDL上租了卡&#xff0c;安装docker遇到一些问题&#xff1a; 1.执行 sudo docker run hello-world 报错 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方法 先查看docker有没有启动&#xff0c;…...

C++头文件大全(要是还有请帮忙)

以下是 C 中常见的各类头文件分类列举&#xff08;但实际远不止这些&#xff0c;随着标准库扩充及第三方库使用会有更多&#xff09;&#xff1a; 输入 / 输出流相关头文件 <iostream>&#xff1a;用于标准输入输出&#xff0c;定义了 cin、cout 等对象。<fstream>…...

计算机毕业设计:Python二手车市场数据分析与价格预测系统 Django框架 随机森林 可视化 数据分析 汽车 车辆 大数据 hadoop(建议收藏)✅

1、项目介绍 技术栈 Python、Django、MySQL、机器学习随机森林算法、Echarts可视化、HTML、阿里云天池数据集 功能模块 注册登录界面不同车龄平均价格柱状图分析不同车龄数量分布饼图二手车售价分布饼图不同地区二手车平均价格柱状图分析里程价格折线图分析特征值和价格相关性分…...

7天玩转Open-LLM-VTuber:从零基础到打造专属AI虚拟主播

7天玩转Open-LLM-VTuber&#xff1a;从零基础到打造专属AI虚拟主播 【免费下载链接】Open-LLM-VTuber Talk to LLM by voice with Live2D that runs offline on multiple platforms. An attempt to build AI VTuber neuro-sama. 项目地址: https://gitcode.com/gh_mirrors/op…...

导师严选!盘点2026年冠绝行业的的AI智能降重工具

轻松降低论文AI率在2026年已不再是天方夜谭。以下是2026年最炸裂、实测效果显著的AI智能降重工具&#xff0c;覆盖AI痕迹消除、文本改写润色、降重优化、学术合规检测四大核心场景&#xff0c;帮你高效搞定毕业论文。 一、全流程王者&#xff1a;一站式搞定论文全链路 这类工具…...

AMD SMT补丁实战指南:突破《赛博朋克2077》CPU性能瓶颈

AMD SMT补丁实战指南&#xff1a;突破《赛博朋克2077》CPU性能瓶颈 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks 《赛博朋克2077》自发布以来&#xff0c…...

【开题答辩全过程】以 基于Android的收支记账管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

字节跳动的Trae的使用感受,及对比腾讯小龙虾使用场景

一、Trae的使用 Trae支持多种模型&#xff0c;官网下载安装后&#xff0c;直接在对话框描述你的需求&#xff0c; 比如&#xff0c;我这里需求是帮我按照ui设计图&#xff0c;帮我生成小程序页面&#xff1a; A. 上传磨刀或蓝狐页面设计图&#xff0c;例如&#xff1a;蓝湖选中…...

不止于画图:用@antv/g6-editor的Command系统打造可撤销/重做的智能流程设计器

超越基础绘图&#xff1a;利用antv/g6-editor构建企业级智能流程设计器 在当今快速发展的数字化时代&#xff0c;流程设计工具已成为企业数字化转型的核心组件。从简单的审批流程到复杂的业务编排&#xff0c;一个功能完备的流程设计器不仅能提升工作效率&#xff0c;更能确保…...

GLM-OCR与IDEA开发环境联动:打造智能代码注释与文档生成插件

GLM-OCR与IDEA开发环境联动&#xff1a;打造智能代码注释与文档生成插件 想象一下这个场景&#xff1a;你正在一个技术分享会上&#xff0c;看到屏幕上闪过一段精妙的代码片段&#xff0c;你赶紧用手机拍了下来。回到工位&#xff0c;你不再需要对着照片一个字一个字地敲键盘&…...

数据标注技术指南:高效标注与数据质量优化实践

数据标注技术指南&#xff1a;高效标注与数据质量优化实践 【免费下载链接】cvat Annotate better with CVAT, the industry-leading data engine for machine learning. Used and trusted by teams at any scale, for data of any scale. 项目地址: https://gitcode.com/Git…...

如何快速部署AI模型:免费本地化解决方案完整指南

如何快速部署AI模型&#xff1a;免费本地化解决方案完整指南 【免费下载链接】LocalAI mudler/LocalAI: LocalAI 是一个开源项目&#xff0c;旨在本地运行机器学习模型&#xff0c;减少对云服务的依赖&#xff0c;提高隐私保护。 项目地址: https://gitcode.com/GitHub_Trend…...