返回 导航

其他

hangge.com

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

作者:hangge | 2020-01-20 08:10
    前文对 EdgeX Foundry 做了一个基本介绍,本文接着演示如何在 Linux下安装部署 EdgeX Foundry,这里以 CentOS 系统为例。

二、安装部署

1,安装 Docker 和 Docker Compose 

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

2,下载 EdgeX compose 文件

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

(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

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

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

(4)当然也可以使用标准 docker 命令来查看正在运行的容器列表,下面通过 format 参数格式化显示出容器启动的时间、运行时间以及其他详细信息:
docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}\t{{.RunningFor}}"

4,运行检查与测试

(1)所有的 EdgeX Foundry 微服务都可以响应“pingHTTP 请求,我们可以使用它来检查任意一个微服务是否正在运行。这个可以借助任意 HTTP REST 客户端工具甚至直接使用浏览器来访问 ping 地址(http://[host]:[port]/api/v1/ping)。
  • 比如下面检查 Core Data 这个微服务是否启动(响应 pong 则表示启动)。

(2)EdgeX Foundry 使用开源的 Consul 来注册其服务。因此我们也可以通过 Consul 的仪表板 UI,查看哪些服务已启动。
  • 地址:http://[host]:8500/ui
配置和注册的 server 都在 consuldocker 服务中:
  • 每一个微服务启动后,都会通过 restful api 的形式将自己的配置注册到到 consul 的微服务(注册服务器)中。
  • 当一个服务器要和另外一个服务器通讯时,首先要先将目标服务器中的配置从注册服务器中拿出来,然后在通过 API 的形式去访问。

(3)我们还可以查看所有发送到 core-data 的事件/读取数据数量,并且这个点数会随着刷新而不断上升。
EdgeX 会不断接收到数据的原因:
  • 由于我们启动了虚拟设备服务(edgex-device-virtual),它启动后会不断从该微服务内置的数据库中随机读取数据(包括设备和数值)发送到 EdgeX
  • 地址:http://[host]:48080/api/v1/event/count

附:进阶技巧

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)运行结果如下,而且日志会不断地自动刷新:
评论

全部评论(0)

回到顶部