开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

EM-LINK部署文档

本文主要介绍EM-LINK的硬件配置要求,及部署过程。

如果您在使用过程中需要帮助,或对文档内容有任何疑问,可以提交工单,技术专员会为您提供技术支持和业务协助。


1 环境要求

关键指标 要求 推荐值 备注
操作系统 Linux CentOS7、Ubuntu16以上 可以使用百度云服务器
CPU ≥4核 4核 intel i7/i9等市场主流CPU均可
内存 ≥8GB 32(G)
硬盘 >100GB 500(G) 基于所需要存储的图片数量自行计算,一般一张事件图大小为200kb-300kb

2 部署包获取

您可以单击这里,将部署包下载到服务器上。

3 服务部署

3.1 解压部署包

执行tar xvf <部署包文件名>,解压完成后将得到original目录。

3.2 执行安装部署脚本

先执行cd original/package/Install切换到脚本所在的目录。在该目录中,install.py即为安装脚本的入口,需要用python2的版本执行。该脚本的使用方法如下:

  • python install.py inall:安装部署包中的所有模块
  • python install.py li:查看当前服务器已经安装的模块
  • python install.py se:查看部署包包含的模块
  • python install.py in <module>:单独安装指定模块
  • python install.py rm <module>:单独卸载指定模块

在这里我们执行python install.py inall即可。

3.3 跳过环境检查

在执行python install.py inall后,可能会遇到如下图所示的“Environment checking failed”问题。这是因为安装服务在尝试部署前对机器环境做了一些基本检查,比如硬盘大小、内存大小、cpu型号等,以判断机器是否符合推荐配置。不过该检查可能存在误判,如果您确认自己服务器配置没太大问题,可以通过输入continue+敲击回车跳过该检查。

380a66d05033075b72b4f5b2de6e93ad

3.4 验证服务是否部署成功

打开浏览器,访问http://EM-LINK服务器ip:8000。如果访问成功,即已完成服务部署。

部署成功后,可以看到如下容器:

380a66d05033075b72b4f5b2de6e93ad
  • easymonitor-openresty-1:反向代理服务,配置了ssl证书(证书生成方法见3.6),会与EM-BOX进行双向认证确保安全性;
  • easymonitor-link-ui-1:界面服务,可通过http://EM-LINK服务器ip:8000访问
  • easymonitor-link-server-1:核心服务,为ui服务提供接口,也为EM-BOX提供接口(通过easymonitor-openresty-1代理转发)。如果您需要进行二次开发,也是调用该服务的接口;
  • - easymonitor-message:基于mqtt的消息服务,用于在emlink和embox之间发布消息;可通过http://服务器ip:8085访问其界面服务,默认用户名/密码:admin/public
  • easymonitor-storage-1:基于minio对象存储服务,图片、技能安装包等资源会存储在这里;可通过http://EM-LINK服务器ip:9000访问其界面服务,默认用户名/密码:admin/admin123456
  • easymonitor-redis-1:redis服务

如果想重启所有服务(或者机器重启后恢复所有服务),可以执行脚本/home/baidu/work/easymonitor-devops/scripts/restart-emlink.sh

3.5 修改embox配置

380a66d05033075b72b4f5b2de6e93ad

关于管理平台URL的补充说明:

此处URL也可以为https://EM-LINK服务器ip:8443http://EM-LINK服务器ip:8001,前者实际是easymonitor-openresty的访问地址,后者实际是easymonitor-link-server的访问地址,他们的区别在于安全性(easymonitor-openresty基于ssl证书做了双向认证)。因此,从安全性角度考虑,建议在实际生产部署时使用https://EM-LINK服务器ip:8443;而由于缺少认证机制,建议不要对外网暴露easymonitor-link-server的8001端口。

  • 如果您在EM-BOX上已经配置了人脸库,建议先将EM-BOX上的人脸库删除,切换到边云模式后,再从EM-LINK上统一下发人脸信息。

3.6 证书生成及部署

为了保证EM-BOX及EM-LINK通信的安全性,我们基于ssl做了双向认证。
目前使用的是百度默认提供的证书,如果您只用于测试,可以不用替换该证书。EM-BOX的证书和EM-LINK的证书都在/etc/certs目录下。
如果是生产部署使用,建议生成自己的证书进行替换。可以用以下脚本生成(请先准备好openssl及java运行环境):

#!/bin/bash
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 36500 -out ca.pem -subj "/C=CN/ST=Beijing/L=Beijing/O=Baidu/OU=ACG/CN=baidu.com"

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Baidu/OU=ACG/CN=emlink.baidu.com"
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.pem -days 36500 -sha256 -extensions v3_req

openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Baidu/OU=ACG/CN=embox.baidu.com"
#openssl x509 -req -days 36500 -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem
openssl x509 -req -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem -days 36500 -sha256 -extensions v3_req

openssl pkcs12 -export -in client.pem -inkey client.key -out client.p12 -password pass:client
keytool -deststorepass client -srcstorepass client -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -destkeystore client.jks -deststoretype JKS
keytool -import -keystore truststore.jks -file ca.pem -storepass client -noprompt

rm -f ca.srl client.csr client.p12 server.csr client.key client.pem

执行成功后,会生成以下几个文件:

  • ca.key:私钥key文件,请妥善保存,不要泄露
  • ca.pem:CA证书文件
  • client.jks:EM-BOX使用的客户端keystore文件
  • truststore.jks:EM-BOX使用的客户端truststore文件
  • server.key:EM-LINK使用的服务端key文件
  • server.pem:EM-LINK使用的服务端证书文件

请将其中的ca.key自己保存好;ca.pem、client.jks、truststore.jks复制到EM-BOX中的/etc/certs目录覆盖旧文件;ca.pem、server.key、server.pem复制到EM-LINK服务器的/etc/certs目录覆盖旧文件。完成上述步骤后,重启EM-BOX和EM-LINK服务,即完成了证书替换。

3.7 部署架构示意图

380a66d05033075b72b4f5b2de6e93ad
上一篇
EM-LINK接口说明
下一篇
常见部署问题说明