本章主要结介绍如何部署 自然语言分析引擎(NLA)。
1. 环境要求 & 安装环境检查
1.1. 服务器配置清单
组件 | 配置 | CPU | 内存 | 硬盘 | 并发数 | 备注 |
---|---|---|---|---|---|---|
NLA核心服务 | 最低配置 | X86架构 16核 | 32G+ | 1TB+ | 推荐为30左右,最高不超过40。 | 由于NLA中的机器学习模型需要大量的系统资源,因此建议单独部署,独占该服务器的配置,并要求和Smartbi服务处于同一个域内(同一个路由); |
推荐配置 | X86架构 32核 | 128G | 1TB+,可根据实际数据量加装。 | / |
(1) 服务器CPU要求支持AVX指令集,否则无法安装 TensorFlow;
(2) 不建议将 Smartbi-NLA 和 Smartbi 部署在同一台服务器上,由于 NLA 对计算和内存资源的使用量均较高,会抢占资源导致卡顿、死机、进程被杀死等问题。
(3) 当服务器配置为最低配置时,即16核32GB。并发数推荐为30个左右,最高不应超过40个。不同并发数下的平均响应时间如下:
并发数 | 平均响应时间 |
---|---|
20 | 2.487s |
30 | 3.669s |
40 | 4.814s |
1.2. 系统环境
由于 Smartbi-NLA 采用 docker 容器 部署,因此服务器的系统环境需要支持 docker19.03 以上 和 docker-compose 1.24.* 。
以下系统版本支持部署 Smartbi-NLA :
系统 | 版本 |
---|---|
Ubuntu | Ubuntu-16.04.3以上 |
Centos | CentOS-7以上 |
1.3. Smartbi版本要求
版本要求 | License |
---|---|
Smartbi V10.5 及以上 | License 需要包含“自然语言分析”相应权限 |
1.4. 环境检查
1.4.1 CPU架构以及指令集确认
输入查看系统的指令
uname -a|grep x86
可以看到如下信息,即为正常:
输入查看系统指令集的指令:
cat /proc/cpuinfo|grep avx
可以看到如下信息,即为正常:
1.4.2网络环境检查
利用ping和telnet的方法无法准确判断是否连通,请务必按照本教程来检查。
网络环境检查要确保Smartbi服务器和NLA服务器双向访问正常。
首先确认NLA服务器是否可以连通Smartbi服务:
curl -L <http|https>://<Smartbi地址>
出现如下信息则在NLA服务器访问Smartbi服务是正常的。
同理需要在Smartbi安装的服务器上确认NLA的服务是否连通:
curl -L <http|https>://<NLA服务地址>
出现如下信息则在Smartbi服务器访问NLA服务是正常的。