边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

news/2024/5/19 12:11:38 标签: 边缘计算, docker, 容器

边缘计算


文章目录


前言

前文对 EdgeX Foundry 做了一个基本介绍,本文接着演示如何在 Linux下安装部署 EdgeX Foundry,这里以 CentOS 系统为例。


安装部署

1,安装 Docker 和 Docker Compose
首先要确保我们的系统已经安装好了 Docker 和 Docker Compose,没有的话可以参考我之前写的文章安装:

CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)

2,下载 EdgeX compose 文件
(1)首先我们访问如下地址查看最新的 compose 文件:

https://github.com/edgexfoundry/developer-scripts/tree/master/compose-files

(2)红框处即为最新的文件

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

(3)执行如命令将其下载到本地并重命名为 docker-compose.yml
注意:如果提示未找到 wget 命令,可以先执行 yum install wget 命令安装。

wget -O docker-compose.yml https://raw.githubusercontent.com/edgexfoundry/developer-scripts/master/compose-files/docker-compose-delhi-0.7.1.yml

3,运行EdgeX foundry

(1)首先执行如下命令将所有 EdgeX Docker 镜像下载下来:

docker-compose pull
原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

(2)镜像下载下来后,执行如下命令运行 EdgeX 容器
注意:-d 选项表示 Docker Compose 以分离模式运行 EdgeX 容器(即在后台运行容器)如果没有 -d,容器将在终端运行。如果后续想要使用终端,必须先停止容器

docker-compose up -d

(3)接着执行如下命令即可显示当前所有已下载并启动的容器(可以看到其中还启动了个 mongodb 服务,使用默认的 27017 端口):

docker-compose ps

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

(4)当然也可以使用标准 docker 命令来查看正在运行的容器列表,下面通过 format 参数格式化显示出容器启动的时间、运行时间以及其他详细信息:

docker ps -a --format “table {{.Names}}\t{{.Status}}\t{{.Ports}}\t{{.RunningFor}}”

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

4,运行检查与测试
(1)所有的 EdgeX Foundry 微服务都可以响应“ping”HTTP 请求,我们可以使用它来检查任意一个微服务是否正在运行。这个可以借助任意 HTTP REST 客户端工具甚至直接使用浏览器来访问
ping 地址(http://[host]:[port]/api/v1/ping)。

比如下面检查 Core Data 这个微服务是否启动(响应 pong 则表示启动)。

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

(2)EdgeX Foundry 使用开源的 Consul 来注册其服务。因此我们也可以通过 Consul 的仪表板 UI,查看哪些服务已启动。

地址:http://[host]:8500/ui

配置和注册的 server 都在 consul 的 docker 服务中:

每一个微服务启动后,都会通过 restful api 的形式将自己的配置注册到到 consul 的微服务(注册服务器)中。
当一个服务器要和另外一个服务器通讯时,首先要先将目标服务器中的配置从注册服务器中拿出来,然后在通过 API 的形式去访问。

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

(3)我们还可以查看所有发送到 core-data 的事件/读取数据数量,并且这个点数会随着刷新而不断上升。
EdgeX 会不断接收到数据的原因:

由于我们启动了虚拟设备服务(edgex-device-virtual),它启动后会不断从该微服务内置的数据库中随机读取数据(包括设备和数值)发送到 EdgeX。

地址:http://[host]:48080/api/v1/event/count

原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)

附:进阶技巧
1,停止容器
执行如下命令可以停止所有的容器

docker-compose stop

2,删除容器
执行如下命令可以删除所有的容器(如果容器当前正在运行也会自动停止):

docker-compose down

3,显示容器日志

(1)使用如下命令,可以查看任一容器的日志:

docker-compose logs -f [compose-contatainer-name]

(2)比如下面我们查看 data 容器的日志:

docker-compose logs -f data

(3)运行结果如下,而且日志会不断地自动刷新:
原文:边缘计算框架EdgeX Foundry使用详解2(安装部署教程)


http://www.niftyadmin.cn/n/458031.html

相关文章

Winwebmail搭建邮件服务器

配置环境 角色系统IP地址DNS邮件服务器WindowServer2016192.168.1.1/24192.168.1.1客户端1Window10192.168.1.10/24192.168.1.1客户端2Window10192.168.1.20/24192.168.1.1 Winwebmail介绍 WinWebMail是安全高速的全功能邮件服务器,融合强大的功能与轻松的管理为…

Transformer-XL模型简单介绍

目录 一、前言 二、整体概要 三、细节描述 3.1 状态复用的块级别循环 3.2 相对位置编码 四、论文链接 一、前言 以自注意力机制为核心的 Transformer 模型是各种预训练语言模型中的主要组成部分。自注意力机制能够构建序列中各个元素之间的上下文关联程度,挖掘…

SpringBoot 如何使用 @RestControllerAdvice 注解进行 RESTful 异常处理

SpringBoot 如何使用 RestControllerAdvice 注解进行 RESTful 异常处理 在 SpringBoot 应用程序中,RESTful 异常处理是一个非常重要的话题。当 RESTful API 出现异常时,我们需要对异常进行处理,以保证 API 的稳定性和可靠性。SpringBoot 提供…

C++之判断文件是否存在的几种方法

文章目录 1. 方法一:C语言之access2. 方法二:C方法之ifstream3. 方法三:fopen方法4. 方法四:sys中的stat函数方法 1. 方法一:C语言之access 可以使用C语言中unistd.h里的函数access()来判断文件是否存在,…

避免由于数据导入导致 Load average 过载

通过htop发现过载 htop输出的头部理解: - 左上是CPU的使用情况:有多少核就有多少行,每行中0表示负载低、100表示高负载;颜色编码CPU和Memory由什么进程占用(红色——kernel进程,绿色——普通用户进程&…

Windows Command Prompt 中编写的批处理脚本

在 Windows Command Prompt 中编写的批处理脚本。del /s 1.docxs Command Prompt 中编写的批处理脚本。del /s 1.docx 这个批处理脚本的功能是删除名为 "1.docx" 的文件,使用了 "/s" 标志来删除所有子目录中的文件。 如果我有多个文件要删除&a…

Prompt Engineering 面面观

作者:紫气东来 项目地址:https://zhuanlan.zhihu.com/p/632369186 一、概述 提示工程(Prompt Engineering),也称为 In-Context Prompting,是指在不更新模型权重的情况下如何与 LLM 交互以引导其行为以获得…

mitmproxy抓包原理

文章目录 mitmproxy原理详解1 mitmproxy 基本原理2 作为中间代理获取HTTP请求信息2.1 应对显式HTTP请求2.2 应对隐式HTTP请求 3 作为中间代理获取HTTPS请求信息3.1 显式HTTPS请求1) 获取远程主机名2) 处理主题备用名称SAN3) 处理服务器名称指示SNI4) 显式HTTPS请求信息获取整个…