Greengrass 部署卡在 "In Progress"

Greengrass deployment stuck on "In Progress"

我正在尝试通过他们的 JavaScript SDK 配置一个 AWS Greengrass 组,我把所有东西都准备好了,运行 到我有部署的地方。问题是部署似乎卡在 "in progress" 上,并且没有 cloudwatch 日志可以帮助我。

我查看了核心设备,这是我在 /greengrass/ggc/var/logs/system/runtime.log 文件中看到的:

[2019-01-18T03:17:22.64Z][INFO]-Greengrass Root: /greengrass
[2019-01-18T03:17:22.64Z][INFO]-Greengrass Write Directory: /greengrass/ggc
[2019-01-18T03:17:22.64Z][INFO]-Group File Directory: /greengrass/ggc/deployment/group
[2019-01-18T03:17:22.64Z][INFO]-Default Lambda UID: 498 GID: 496
[2019-01-18T03:17:22.64Z][INFO]-===========================================
[2019-01-18T03:17:22.64Z][INFO]-The current core is using the AWS IoT certificates with fingerprint: 7591dcd10e96f86dd2d323d468b84b419b26280bbcfd3c0eee45c5a12c6d2dd7
[2019-01-18T03:17:22.641Z][WARN]-worker process info: /greengrass/ggc/packages/1.7.0/var/worker/processes
[2019-01-18T03:17:22.641Z][WARN]-worker process info: /greengrass/ggc/packages/1.7.0/var/worker/processes
[2019-01-18T03:17:22.641Z][INFO]-Reloading registry
[2019-01-18T03:17:22.642Z][INFO]-The current core is using the AWS IoT certificates with fingerprint: 7591dcd10e96f86dd2d323d468b84b419b26280bbcfd3c0eee45c5a12c6d2dd7

我已经检查过,我能够使用 OpenSSL 和我拥有的证书成功访问 ATS 端点。我正在使用来自 Greengrass 教程 RSA 2048 位密钥的亚马逊推荐证书:Amazon Root CA 1.

这里有哪些诊断步骤或线索?

我以前遇到过这个问题。我相信这只是一个错误,内部结构因部署不当而受到破坏。

我暴力挂部署的方法是创建一个新的核心,然后将工作组中已知的工作lamdbas添加到新核心,杀死并重启核心设备上的守护进程,然后重新部署。

所以对我来说,我有 2 个配置错误导致无法成功部署

  1. 部署被卡住了 "in progress" 因为附加的策略和角色中的权限需要 lambda 权限才能部署。执行此操作后,部署从 "in progress" 变为 "failed deployment",这使我犯了第二个错误。

  2. 托管核心软件的 EC2 实例不知何故没有 运行 设置 shell 脚本正确(可能没有 运行 它作为 sudo ) 并且我的 cgroups 没有完全设置内存(不知道这意味着什么,但你需要设置)

感谢 Steve B 的帮助!

我遇到过很多次提及问题。就我而言,问题总是与互联网连接有关。

要检查您的系统,在开始部署过程之前,请订阅#(通配符)以收听所有主题并查看与部署相关的消息。如果您没有看到任何传入消息,则表示网络连接有问题。

然后您可以 运行 此命令 ping greengrass-ats.iot.region.amazonaws.com 安装 greengrass 核心的位置来调查问题。如果一切正常,您可以重新开始部署。但是如果你看到丢失的包,你应该调查导致网络问题的主要问题。