
opendronemap/clusterodmClusterODM是一款为NodeODM API兼容节点设计的反向代理、负载均衡器和任务跟踪器,具备可选的云自动扩展能力。它能将多个NodeODM节点整合到单一网络地址下,实现任务的智能分配(考虑最大图像数、队列大小和插槽可用性等因素),并支持通过主流云服务提供商(DigitalOcean、Hetzner、Scaleway、AWS)自动扩缩容节点。该工具已在WebODM Lightning Network上经过实战检验,可可靠处理数千个数据集。
!image
ClusterODM支持多种安装方式:
需先安装NodeJS:
bashgit clone https://github.com/OpenDroneMap/ClusterODM cd ClusterODM npm install
直接使用官方Docker镜像:
bashdocker pull opendronemap/clusterodm
从发布页面下载最新clusterodm-windows-x64.zip,解压后运行:
bashclusterodm.exe
通过node index.js --help或Docker运行时添加--help查看所有参数选项。
源码启动
bashnode index.js [参数]
Docker启动
bashdocker run --rm -ti -p 3000:3000 -p 8080:8080 opendronemap/clusterodm [参数]
-p 3000:3000:映射Web UI端口(NodeODM兼容界面)-p 8080:8080:映射CLI管理端口(节点管理)通过telnet连接8080端口管理节点:
bashtelnet localhost 8080
常用命令:
HELP:查看命令帮助NODE ADD <主机> <端口>:添加NodeODM节点NODE LIST:列出所有节点及其状态NODE LOCK <节点ID>:锁定节点(不分配新任务)NODE UNLOCK <节点ID>:解锁节点示例:添加并锁定本地NodeODM节点
> NODE ADD localhost 3001 > NODE LOCK 1 > NODE LIST 1) localhost:3001 [online] [0/2] <version 1.5.1> [L]
http://localhost:3000(与NodeODM界面一致)http://localhost:10000(集群状态页面)ClusterODM可根据任务需求自动扩缩容云节点,配置步骤如下:
bash# 源码启动 node index.js --asr configuration.json # Docker启动(需挂载配置文件和docker-machine目录) docker run --rm -ti -p 3000:3000 -p 8080:8080 \ -v $(pwd)/configuration.json:/configuration.json \ -v ~/.docker/machine:/root/.docker/machine \ opendronemap/clusterodm --asr /configuration.json
自动扩展需至少添加一个"参考节点"(用于UI转发和选项验证),建议添加本地NodeODM并锁定:
bashtelnet localhost 8080 > NODE ADD localhost 3001 # 添加本地NodeODM节点(需先启动NodeODM) > NODE LOCK 1 # 锁定节点,避免任务分配到该节点 > NODE LIST # 确认节点状态 1) localhost:3001 [online] [0/2] <version 1.5.1> [L]
使用docker-compose快速部署ClusterODM和NodeODM(含参考节点):
yaml# docker-compose.yml version: '3' services: clusterodm: image: opendronemap/clusterodm ports: - "3000:3000" # Web UI端口 - "8080:8080" # CLI管理端口 - "10000:10000" # 节点状态端口 depends_on: - nodeodm nodeodm: image: opendronemap/nodeodm ports: - "3001:3000" # NodeODM端口
启动命令:
bashdocker-compose up
ClusterODM有多个增强功能计划,详情参见GitHub issues。欢迎通过OpenDroneMap社区论坛参与贡献或获取帮助。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务