本章描述流数据分析及其任务相关的一些常见问题。
查看任务运行状态
在远程控制台执行如下命令:
/linkedge/gateway/build/bin/lectl sc show
系统返回类似如下内容,若
running
参数值为true
,则表示任务正在运行中。
========================= TOTALCOUNT 02 =========================
------------------------------- 01 -------------------------------
ID: sca6xxxxxxxxxxxxxxxxxxxxxxxxxxxx34
Name: 高温报警
Running: true
SQLPath: /linkedge/run/stream-compute/sql/sca6xxxxxxxxxxxxxxxxxxxxxxxxxxxx34.sql
SQLMd5: 8a76629992c7710ee742709658ffa7dc
LogPath: /linkedge/run/logger/stream-compute/sca6xxxxxxxxxxxxxxxxxxxxxxxxxxxx34/log.INFO
------------------------------- 02 -------------------------------
ID: sc62xxxxxxxxxxxxxxxxxxxxxxxxxxxxf6
Name: 温度平均值
Running: true
SQLPath: /linkedge/run/stream-compute/sql/sc62xxxxxxxxxxxxxxxxxxxxxxxxxxxxf6.sql
SQLMd5: 1a037f7e4dcb7ab6910dba23b4d93ce2
LogPath: /linkedge/run/logger/stream-compute/sc62xxxxxxxxxxxxxxxxxxxxxxxxxxxxf6/log.INFO
各字段含义如下所示:
字段 | 描述 |
ID | 任务唯一标识(streamID)。 |
Name | 任务名称。 |
Running | 任务运行状态。
|
SQLPath | SQL文件的存储路径。 |
SQLMd5 | SQL文件的MD5。 |
LogPath | 任务日志路径。 |
查看任务是否能收到设备数据
- 在远程控制台,通过tool_config将日志等级调为
debug
。/linkedge/gateway/build/bin/tool_config -s gw_logger_level debug
- 执行如下命令查看任务日志,输出的内容为该任务收到的设备数据。
tail -f /linkedge/run/logger/stream-compute/sc62xxxxxxxxxxxxxxxxxxxxxxxxxxxxf6/log.INFO | grep DATA_INPUT
其中,
sc62xxxxxxxxxxxxxxxxxxxxxxxxxxxxf6
为任务唯一标识(streamID)。
任务为什么会停止运行
任务停止运行的具体原因需查看任务日志,以下列出常见的几种可能原因:
- SQL语法错误
解决方法:需要在物联网平台控制台, 页面下,具体任务的编辑器页面中校验SQL通过后,再发布任务。详细操作请参见SQL类型任务。
- SQL中包含数据库,但数据库无法连接
解决方法:请参见为什么连接数据库会失败。
- SQL中包含数据库,数据读取/插入失败
解决方法: 请检查输出数据库中的表格式是否和流数据分析SQL中对应的表格式定义一致,两处表格式定义需保持一致。
任务停止后如何恢复
查看计算结果是否输出到边缘消息总线
- 登录远程控制台。
- 通过
dbus-monitor
将边缘消息总线实时流转的消息打印出来,若打印出的内容中,能够搜索到消息相关topic,表示流数据分析任务的计算结果已输出到消息总线。/linkedge/gateway/build/bin/dbus-monitor --address unix:path=/tmp/var/run/mbusd/mbusd_socket
连接数据库失败
- 请检查数据库的用户名、密码是否已在配置中心配置好。
若未配置,请执行如下命令,将用户名和密码保存在配置中心:
cd /linkedge/gateway/build/bin ./tool_config -s your_username_key your_username_value ./tool_config -s your_password_key your_password_key
说明- 将your_username_key和your_password_key替换为流数据分析SQL中定义的key。
- 将your_username_value和your_password_value替换为实际的数据库用户名和密码。
- 检查host、port、用户名、密码是否正确。
该文章对您有帮助吗?