opendronemap集群搭建

需求

OpenDroneMap(ODM)是一个开源项目,旨在利用无人机采集的图像数据生成地图、模型和其他地理空间数据。它主要解决以下问题:

  1. 航空摄影数据处理:ODM可以处理无人机拍摄的大量航空图像数据,通过图像处理和计算机视觉技术生成高质量的地图和模型。
  2. 地图制作与更新:利用ODM,用户可以快速、成本效益地生成地图,并及时更新地理空间数据,有助于城市规划、灾害监测等领域的应用。
  3. 三维建模:ODM可以生成精确的三维模型,对于建筑物、地形等的三维建模具有重要意义,可用于虚拟现实、游戏开发等领域。
  4. 资源管理:通过ODM生成的地图和模型,可以帮助资源管理部门更好地监控土地利用、自然资源管理等情况,提高资源利用效率。

由于,单节点需要大量的时间生成模型,需要通过集群模式搭建测试是否能够通过水平拓展的方式线性增加odm处理模型的能力。

资源信息

服务器资源信息备注
ClustOdm(master)20核32G用于资源调度,不参与计算
OdmNode(node1)8核心16G
OdmNode(node2)8核16G
OdmNode(node3)4核8G

搭建Docker

通过shell脚本,安装阿里镜像源并安装docker

#!/bin/bash# 安装wget工具
yum -y install wget# 切换到/etc/yum.repos.d/目录
cd /etc/yum.repos.d/# 创建一个备份文件夹
mkdir bak# 将当前目录下的所有.repo文件移动到备份文件夹
mv *.repo bak/# 从阿里云下载CentOS-Base.repo文件,并保存到/etc/yum.repos.d/目录
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 清理yum缓存
yum clean all# 更新yum缓存
yum makecache# 安装vim、lsof和network-tools软件包
yum install -y vim && yum install -y lsof && yum install -y network-tools && yum -y install lrzsz && yum -y install lsof# 安装yum-utils软件包
yum install -y yum-utils# 添加Docker的yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装Docker相关软件包
yum install -y docker-ce docker-ce-cli containerd.io# 启动Docker服务并查看状态
systemctl start docker && systemctl status docker

搭建OpenDroneMap(node)

  • 8080:代理服务器备用端口;
  • 3000:node开发服务器端口
docker run -it -p 3000:3000 -p 8080:8080 opendronemap/nodeodm

搭建ClusterOdm(master)

  • 8080:代理服务器备用端口;
  • 3000:node开发服务器端口
  • 10000:查看集群状态
docker run -it -p 3001:3000 -p 8081:8080 -p 10001:10000 opendronemap/clusterodm

动态加入node

# 集群状态
[root@localhost ~]# telnet localhost 8080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Welcome ::ffff:172.17.0.1:43468 ClusterODM:1.5.3
HELP for help
QUIT to quit
# 集群节点
#> node list
1) 172.30.50.57:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
2) 172.30.50.58:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
3) 172.30.50.56:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
4) 172.30.50.37:3001 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
# 添加节点
#> node add localhost 3000
# 查看是否添加成功
#> node list
1) 172.30.50.57:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
2) 172.30.50.58:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
3) 172.30.50.56:3000 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>
4) 172.30.50.37:3001 [online] [0/1] <engine: odm 3.3.4> <API: 2.2.2>

查看是否成功加入集群

  • 访问:http://localhost:10000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法-一天两个之冒泡、选择排序

前言&#xff1a; 准备笔试题中&#xff0c;这几天复习排序算法&#xff0c;尽量一天学一两个&#xff0c;并且以能手写代码的理解方式写出来。 冒泡排序&#xff1a; 思路&#xff1a; 首先&#xff0c;一定要先有一个场景&#xff0c;比如 1 3 9 5 4 现在想象它&#xff…

美团3月9日笔试题

第一题&#xff1a;小美的平衡矩阵 注意in.nextLine()和in.next() import java.util.Scanner;public class Main {static final int maxn 210;public static void main(String[] args) {Scanner in new Scanner(System.in);int n in.nextInt();char[][] a new char[maxn]…

Docker 安装部署 ORACLE 11g数据库

Docker 安装部署 ORACLE 11g数据库 背景&#xff1a; ​ 最新在开发数据中台数据接入模块&#xff0c;其中设计很多数据类型&#xff0c;包括ORACLE &#xff0c;因为是测试使用&#xff0c;想着快速部署测试&#xff0c;于是使用Docker 部署 Oracle , 生产环境不建议使用Doc…

YOLOv7-Openvino和ONNXRuntime推理【CPU】

纯检测系列&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列&#xff1a; YOLOv5/6/7-O…

onecloud刷CasaOS系统后如何安装内网穿透实现公网访问本地文件

文章目录 1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 2月底&#xff0c;玩客云APP正式停止运营&#xff0c;不再提供上传、云添加功能。3月初&#xff0c;有用户进行了测试&#xff0c;局域网内的各种服务还能继续使用&#xff0c;但…

十二、项目采购管理

十二、项目采购管理 1、规划采购管理 ​ 规划采购管理是记录项目采购决策、明确采购方法&#xff0c;及识别潜在卖方的过程。 1,1、关键输入 组织过程资产 组织使用的各种合同协议类型也会影响规划采购管理过程中的决策。能够影响规划采购管理过程的组织过程资产包括&#xf…

力扣爆刷第96天之hot100五连刷66-70

力扣爆刷第96天之hot100五连刷66-70 文章目录 力扣爆刷第96天之hot100五连刷66-70一、33. 搜索旋转排序数组二、153. 寻找旋转排序数组中的最小值三、4. 寻找两个正序数组的中位数四、20. 有效的括号五、155. 最小栈 一、33. 搜索旋转排序数组 题目链接&#xff1a;https://le…

【研发日记】Matlab/Simulink技能解锁(五)——Simulink布线技巧

前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》 见《【研发日记】Matlab/Simulink…

虚拟环境的激活

(此博客仅用于我记录虚拟环境的激活方法) 虚拟环境的激活命令: venv/Scripts/activate 在F:\git repo\Database-Course-Design 这个文件夹中启动命令行 这个文件夹中含有虚拟环境venv 输入命令venv/Scripts/activate&#xff0c;就得到下面的结果: 此时就激活了虚拟环境&…

python 基础知识点(蓝桥杯python科目个人复习计划64)

今日复习内容&#xff1a;做题 例题1&#xff1a;蓝桥课程抢购 问题描述&#xff1a; 为了能让更多的同学学到IT技术&#xff0c;蓝桥云课又开始了课程限时打折活动。 作为初学者的你&#xff0c;希望尽可能买到含金量总额更高的课程&#xff0c;当然其他同学也是这么想。 …

wsl-oracle 安装 omlutils

wsl-oracle 安装 omlutils 1. 安装 cmake 和 gcc-c2. 安装 omlutils3. 使用 omlutils 创建 onnx 模型 1. 安装 cmake 和 gcc-c sudo dnf install -y cmake gcc-c2. 安装 omlutils pip install omlutils-0.10.0-cp312-cp312-linux_x86_64.whl不需要安装 requirements.txt&…

人工智能入门之旅:从基础知识到实战应用(三)

一、机器学习入门 1.机器学习基本概念 •监督学习、非监督学习、半监督学习和强化学习是机器学习中的主要学习类型&#xff0c;它们在解决不同类型的问题时具有不同的方法和应用场景&#xff1a; 监督学习&#xff08;Supervised Learning&#xff09;&#xff1a; 监督学习是…

单个数据盘分区如何配置LVM

要在单个 磁盘上划分多个数据盘主分区并配置 LVM&#xff08;Logical Volume Manager&#xff09;&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 划分分区&#xff1a;使用 fdisk 或parted等其他磁盘分区工具&#xff0c;在单个磁盘上创建多个主分区。例如&#xff0…

备战蓝桥杯Day28 - 贪心算法

一、贪心算法 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤为有效。最优子结构指的是…

【Python】查看指定目录(包括子目录)下指定年份的数量和占用量,附带windows可执行程序。

目录 安装依赖 代码 打包为可执行程序 如果你使用了Anaconda&#xff0c;请先切换环境&#xff01;&#xff01;&#xff01; 安装依赖 pip install tqdm aiofiles 代码 新建一个find.py文件&#xff0c;将以下代码粘贴进去&#xff1a; import os import datetime f…

Linux下进行JavaEE开发-安装JDK、Tomcat、MySQL

目录 JDKTomcatMySQL JDK 安装JDK步骤&#xff1a; 1、创建目录mkdir /opt/jdk 2、将jdk压缩包通过xftp6上传到该目录 3、cd /opt/jdk 4、tar -zxvf jdk-8u151-linux-x64.tar.gz 5、mkdir /usr/local/java 6、mv /opt/jdk/jdk1.8.0_151 /usr/local/java 7、修改环境变量…

Leetcode刷题笔记——数组与字符串篇

Leetcode刷题笔记——数组与字符串篇 一、数组 第一题 Leetcode14&#xff1a;最长公共前缀&#xff1a;简单题 &#xff08;详情点击链接见原题&#xff09; 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 "" 当前…

深入学习和理解Java NIO的高级特性

学习使用Path、Paths和Files类来操作文件系统 在Java 7引入的NIO.2&#xff08;New Input/Output 2&#xff09;中&#xff0c;Path、Paths和Files类是处理文件系统操作的核心类。它们提供了一套强大的文件I/O操作接口&#xff0c;使得读写文件、访问文件属性、遍历文件目录等…

解锁基于LLMS的咒语:通过上下文学习重新思考对齐

一、写作动机&#xff1a; 最近的一项研究&#xff0c;LIMA&#xff0c;表明仅使用1K个示例进行SFT也可以实现显著的对齐性能&#xff0c;这表明对齐微调的效果可能是“表面的”。&#xff08;知识和推理能力来源于预训练&#xff0c;而不是必须通过对齐微调获得的。&#xff…

计算机图形学学习(一)——线的绘制、三角形填充绘制

以下摘抄自本人的计算机图形学上机报告 实验内容及要求&#xff1a; 理解并掌握中点画线法、Bresenham算法、扫描线法和重心坐标法的基本原理和算法步骤。使用编程语言C实现上述算法&#xff0c;并编写相应的代码。对于直线绘制算法&#xff0c;要求能够绘制水平、垂直、斜向等…