本文介绍如何在Centos 7.5的系统中搭建边缘管理平台的边缘节点环境,实现节点与云端连接。
边缘节点程序既可以运行在物理机上,也能运行在虚拟机上。但是对于硬件和软件有一定的要求,具体的规格要求如下:
项目 | 规格 |
---|---|
OS | AMD64: Ubuntu 16.04 LTS、Ubuntu 18.04 LTS、CentOS 7.x和RHEL 7.x ARM: OpenWrt ARM64: OpenWrt、Ubuntu 18.04 LTS 其他Linux系统未做测试,不保证完美运行。 |
内存 | >=512MB |
CPU | >=1vCPU 512Mhz |
硬盘 | >=1GB |
Docker | Docker版本高于18.09.2,推荐使用19.03.4版本。 Docker安装方法请参考官网https://docs.docker.com/get-docker/,或者使用`curl -sSL https://get.docker.com`一键安装最新版本。 注:Docker安装后,请设置为开机启动,否则会导致系统重启后边缘节点服务无法正常运行。 |
端口使用 | 边缘节点程序启动会占用如下端口,请确保这些端口没有被其他服务占用。 1883:边缘节点内置MQTT Broker的端口 1887:边缘节点日志服务端口 |
边缘节点依赖Docker运行环境,需要提前安装好,建议安装/更新 Docker 版本到 18.09.2 及以上。可通过以下命令安装 docker 的最新版本(适用于 Linux 系统):
curl -sSL https://get.docker.com | sh
或者参考docker官网进行安装。
1.进入边缘管理平台控制台,选择边缘节点管理菜单。
2.添加一个边缘节点。
点击添加边缘节点,填写节点名称,选择操作系统和CPU架构。
参数说明
| 参数 | 描述 | | -------- | --------------------------------------------------------- | | 操作系统 | 设备操作系统,仅支持Linux系统。 | | CPU架构 | 设备对应的CPU架构,支持AMD64、ARM64、ARM。这里选择AMD64。 |
在平台完成节点创建工作后,需要在设备上安装并启动节点软件,才能完成接入工作。
1.进入到边缘节点列表页面,点击操作栏中的详情进入边缘节点详情页面。
2.点击边缘节点软件栈安装,在弹出的对话框中会显示安装操作指南。
3.Step1用于安装docker环境,前文已经说明怎么进行安装,参考准备工作。
4.Step2用于安装边缘节点程序,目前已支持一键安装,点击页面上复制按钮复制命令至设备上运行,等待下载完成并初始化。
注:需要确保设备能够访问到Step2中-d参数中的地址,从而能够正常拉取镜像。
5.复制Step3的命令启动边缘节点程序,根据系统是否支持systemd,选择相应的启动命令。这里复制第一个命令执行。
6.启动后执行systemctl status ecmedge(如果不支持systemd,使用/usr/local/ecmedge/ecmedge.sh status)查看运行状态。
注:首次启动会进行初始化工作并拉取程序docker镜像,根据网络情况需要耗费不同时间,请耐心等待。拉取镜像过程中可以通过tail -f /usr/local/ecmedge/var/log/ecmedge.INFO查看相关日志。
7.启动完成后,使用docker ps可以看到程序容器正常运行。
8.在平台控制台刷新边缘节点详情页面,可以看到节点状态显示在线,同时节点的系统信息也上报成功。
注:如果启动边缘节点后长时间仍然显示离线状态,可以使用节点列表中的初始化按钮重新进行配置。
边缘节点程序(以下简称ecmedge)安装目录为/usr/local/ecmedge,配置边缘节点以及查看相关日志请切换到该目录。这里先执行
cd /usr/local/ecmedge
进入该目录。
启动ecmedge
systemctl start ecmedge 或者 ./ecmedge.sh start
停止ecmedge
systemctl stop ecmedge 或者 ./ecmedge.sh stop
查看ecmedge运行状态
systemctl status ecmedge 或者 ./ecmedge.sh status
重启ecmedge
systemctl restart ecmedge 或者 ./ecmedge.sh stop && ./ecmedge.sh start
如上文所说,边缘节点的安装目录在/usr/local/ecmedge下,在该目录下会存放程序的配置文件以及日志文件。配置文件目前提供的脚本可以进行快捷配置,一般来说用户不需要手动更改。用户主要关注日志的路径,便于快速排查一些问题。常用目录如下:
/usr/local/ecmedge/
├── bin
│ └── ecmedge
├── ecmedge.sh
├── etc
│ └── ecmedge.yaml
└── var
├── db
│ └── volume
│ ├── localhub
│ │ ├── msgqos1.db
│ │ ├── offset.db
│ │ └── session.db
│ └── remotemqtt
│ └── offlineData.db
└── log
├── agent
│ └── agent.log
├── dataparser
│ └── dataparser.log
├── ecmedge.ERROR -> ecmedge.yarn-master.root.log.ERROR.20200722-144302.42695
├── ecmedge.INFO -> ecmedge.yarn-master.root.log.INFO.20200722-144302.42695
├── ecmedge.WARNING -> ecmedge.yarn-master.root.log.WARNING.20200722-144302.42695
├── ecmedge.yarn-master.root.log.ERROR.20200722-144302.42695
├── ecmedge.yarn-master.root.log.INFO.20200722-144302.42695
├── ecmedge.yarn-master.root.log.WARNING.20200722-144302.42695
├── localhub
│ └── localhub.log
├── msgroute
│ └── msgroute.log
├── remotemqtt
│ └── remotemqtt.log
└── scenelinkage
└── scenelinkage.log
目录说明
路径 | 描述 |
---|---|
/usr/local/ecmedge/bin/ecmedge | 边缘节点软件核心程序 |
/usr/local/ecmedge/etc/ecmedge/ecmedge.yml | 程序配置文件 |
/usr/local/ecmedge/var/db | 各个模块配置文件目录 |
/usr/local/ecmedge/var/log | 日志文件路径,核心程序日志文件为ecmedge.*,模块日志文件在相应子目录下 |