上云无忧 > 文档中心 > 百度智能云智能边缘 - 可执行二进制程序类型进程应用
智能边缘
百度智能云智能边缘 - 可执行二进制程序类型进程应用

文档简介:
1、概述: 在进程应用概述当中提到,进程应有两类,本文重点讲解可执行二进制程序类型进程应用。并以构建emqx的BIE进程应用为例来进行详细说明。 2、程序包依赖文件准备: 2.1 可执行二进制程序: emqx提供了多个平台的编译程序,因此可以使用emqx作为示例介绍二进制程序文件的制作方式。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

1、概述

在进程应用概述当中提到,进程应有两类,本文重点讲解可执行二进制程序类型进程应用。并以构建emqx的BIE进程应用为例来进行详细说明。

2、程序包依赖文件准备

2.1 可执行二进制程序

emqx提供了多个平台的编译程序,因此可以使用emqx作为示例介绍二进制程序文件的制作方式。

  1. 下载emqx-5.0.8-ubuntu20.04-arm64.tar.gz 并解压。
  2. 可以看到emqx的相对路径是bin/emqx,这个将作为entry的值填写到program.yml文件当中。

  1. 因为程序入口是bin/emqx,入口程序需要具有可执行权限,可以通过ls命令查看文件权限。
ls -l
-rwxr-xr-x 1 root root 34538 Sep 28 19:38 emqx
  1. 如果程序不具备可执行权限,可以通过自行如下命令添加可执行权限
chmod +x emqx
  1. 当前baetyl边缘计算框架还不支持tar.gz文件的解压缩,因此需要将上述文件压缩成zip包,执行如下命令,将在该目录下得到emqx-5.0.8-ubuntu20.04-arm64.zip压缩文件。
cd emqx-5.0.8-ubuntu20.04-arm64 zip -r emqx-5.0.8-ubuntu20.04-arm64.zip ./*

2.2 程序入口配置文件

  1. 整理程序入口配置文件:

    • 文件名:program.yml
    • 文件内容:entry: "bin/emqx"
  2. 执行如下命令,得到zip压缩包emqx-program-yml-1.zip
zip -r emqx-program-yml-1.zip program.yml

3、创建程序包

  1. 参考进程程序包,创建程序包emqx-5.0.8-ubuntu20.04,通过HTTP方式引入前面创建的2个文件:

    • emqx-program-yml-1.zip
    • emqx-5.0.8-ubuntu20.04-arm64.zip
  2. 也可以直接下载(右键->另存为) 进程程序包-emqx-5.0.8-ubuntu20.04.json 到本地,然后直接导入程序包。
  3. 程序包支持多平台架构。可以在一个程序包当中引入多个平台的可执行程序,边缘计算框架baetyl会自动根据实际设备的系统架构(Arch)动态下载匹配的可执行程序。因为不管是哪一种平台的emqx可执行程序,他的程序目录是基本不变的,可执行程序的入口都是bin/emqx,因此程序入口配置文件可以复用同一个emqx-program-yml-1.zip。但是不同平台的变量名需要单独定义。包含2种架构的程序包如下图所示:

4、创建进程应用

4.1 创建流程

  1. 创建进程应用

    • 名称:emqx-5-0-8-ubuntu20-04
  2. 添加服务(程序包)

    • 名称:emqx-5-0-8-ubuntu20-04
    • 程序包:关联emqx-5.0.8-ubuntu20.04
    • 启动参数:foreground
    • 点击确定
    • 点击下一步
  3. 目标节点

    • 单节点匹配
    • 选择一个进程节点
    • 点击下一步
  4. 部署方式:

    • 立即部署
    • 点击创建

4.2 启动参数说明

上述在添加服务的时候,设置了启动参数为foreground。这是因为bin/emqx不可以单独执行,还需要传入参数,可以使用的参数信息如下:

$ ./bin/emqx
Usage: emqx COMMAND [help]

Commonly used COMMANDs:
  start:      Start EMQX in daemon mode
  console:    Start EMQX in an interactive Erlang or Elixir shell
  foreground: Start EMQX in foreground mode without an interactive shell
  stop:       Stop the running EMQX node
  ctl:        Administration commands, execute 'emqx ctl help' for more details

在本文当中我们传入的参数为foreground,即完整的命令为bin/emqx foreground。

5、验证

  1. 云端查看边缘应用状态

  1. 边缘查看systemctl服务状态

systemctl | grep baetyl
baetyl-edge-system.baetyl-broker-77zsf48j5.1663915447jqisxn.baetyl-broker.1.service   loaded active running 
  baetyl-edge-system.baetyl-broker-77zsf48j5.1663915447jqisxn.baetyl-broker.1.service
baetyl-edge-system.baetyl-core-sggwknd8w.1663915447w8dtie.baetyl-core.1.service       loaded active running
   baetyl-edge-system.baetyl-core-sggwknd8w.1663915447w8dtie.baetyl-core.1.service
baetyl-edge-system.baetyl-init-igkjsqy4b.1663915447d2ahdm.baetyl-init.1.service       loaded active running 
  baetyl-edge-system.baetyl-init-igkjsqy4b.1663915447d2ahdm.baetyl-init.1.service
baetyl-edge.emqx-5-0-8-ubuntu20-04.16643650656x6gix.emqx-5-0-8-ubuntu20-04.1.service  loaded active running 
  baetyl-edge.emqx-5-0-8-ubuntu20-04.16643650656x6gix.emqx-5-0-8-ubuntu20-04.1.service

  1. 边缘查看应用日志文件

# 执行命令,如果应用名称是emqx-5-0-8-ubuntu20-04,可以直接使用如下命令 tail -f /var/lib/ba
etyl/log/baetyl-edge/emqx-5-0-8-ubuntu20-04/1*/*.log # 返回日志 NOTE: Use the same config va
lue for all nodes in the cluster. !!!!!! log.file_handlers.default.enable = EMQX_LOG__FILE
_HANDLERS__DEFAULT__ENABLE = false log.console_handler.enable = EMQX_LOG__CONSOLE_HANDLER__
ENABLE = true Listener ssl:default on :8883 started.
Listener tcp:default on :1883 started.
Listener ws:default on :8083 started.
Listener wss:default on :8084 started.
Listener http:dashboard on :18083 started.
EMQX 5.0.8 is running now!

相似文档
  • 1、概述: 在进程应用概述当中提到,进程应有两类,本文重点讲解可执行脚本类型进程应用,并以如何将 飞桨开源模型的SDK 构建成BIE进程应用为例来进行详细说明。
  • 基本介绍: 概述: 函数应用由函数运行时和函数脚本两部分组成: 函数运行时为BIE官方提供,支持python36、node85等多种运行时。 函数脚本则需要由用户完成编写。函数脚本以卷挂载的形式与函数应用关联。具体参考 配置管理->函数 章节。 函数应用同时支持容器模式和进程模式。在操作使用上,两者本身没有什么区别。下面以容器模式的函数应用使用指南进行说明。
  • 本章主要介绍如何在函数应用中配置多个从百度 CFC 中导入的函数: CFC 函数创建: 本文将以 Python3.6 为例进行说明。 从百度智能云控制台进入 函数计算CFC,我们选择"华南-广州"区域,点击“创建函数”按钮,选择“空白函数”。
  • 在编写函数时,我们常常会需要引用第三方依赖,本文将介绍如何把代码以及第三方依赖上传至云端 BOS,并在函数应用中引入该函数。 本文将以 Python3.6 为例进行说明。
  • 1、背景描述: 在使用边缘函数时,边缘函数常常需要使用import来引用第三方依赖。本文将介绍如何将依赖包上传至对象存储,以及如何在编写函数代码时直接引用依赖包。本文将以 Python3.6 为例进行说明。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部