本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Greengrass 核
Greengrass nucleus 组件 aws.greengrass.Nucleus
() 是必备组件,也是在设备上运行 Amazon IoT Greengrass 核心软件的最低要求。您可以将此组件配置为远程自定义和更新 Amazon IoT Greengrass Core 软件。部署此组件可在核心设备上配置代理、设备角色和 Amazon IoT 事物配置等设置。
重要
当 nucleus 组件的版本发生变化时,或者当你更改某些配置参数时, Amazon IoT Greengrass Core 软件(包括 nucleus 和设备上的所有其他组件)会重新启动以应用更改。
部署组件时, Amazon IoT Greengrass 会安装该组件所有依赖项的最新支持版本。因此,如果您向事物组中添加新设备或更新针对这些设备的部署,则 Amazon提供的公共组件的新补丁版本可能会自动部署到您的核心设备上。某些自动更新(例如 nucleus 更新)可能会导致您的设备意外重启。
为防止设备上运行的组件出现意外更新,我们建议您在创建部署时直接包含该组件的首选版本。有关 C Amazon IoT Greengrass ore 软件更新行为的更多信息,请参阅更新Amazon IoT Greengrass核心软件 (OTA)。
版本
此组件有以下版本:
-
2.12.x
-
2.11.x
-
2.10.x
-
2.9.x
-
2.8.x
-
2.7.x
-
2.6.x
-
2.5.x
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
有关更多信息,请参阅 支持的平台。
要求
设备必须满足某些要求才能安装和运行 Greengrass nucleus 和 Core 软件。 Amazon IoT Greengrass 有关更多信息,请参阅 设备要求。
支持 Greengrass 核心组件在 VPC 中运行。要在 VPC 中部署此组件,需要满足以下条件。
-
Greengrass 核心组件必须连接到、 Amazon IoT data凭证 Amazon IoT 和 Amazon S3。
依赖项
Greengrass 核心不包含任何组件依赖关系。但是,一些 Amazon提供的组件将核作为依赖项包含在内。有关更多信息,请参阅 Amazon-提供的组件。
有关组件依赖关系的更多信息,请参阅组件配方参考。
下载和安装
你可以下载安装程序,在你的设备上设置 Greengrass nucleus 组件。此安装程序将您的设备设置为 Greengrass 核心设备。您可以执行两种类型的安装:一种是为您创建所需 Amazon 资源的快速安装,另一种是手动安装,您可以自己创建 Amazon 资源。有关更多信息,请参阅 安装 Amazon IoT Greengrass Core 软件。
你也可以按照教程安装 Greengrass 核心并探索 Greengrass 组件的开发。有关更多信息,请参阅 教程:Amazon IoT Greengrass V2 入门。
配置
此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。某些参数要求 Amazon IoT Greengrass Core软件重新启动才能生效。有关为何以及如何配置此组件的更多信息,请参阅配置 Amazon IoT Greengrass 核心软件。
iotRoleAlias
-
指向令牌交换 IAM 角色的角色别名。 Amazon IoT Amazon IoT 凭证提供者扮演此角色是为了允许 Greengrass 核心设备与服务进行交互。 Amazon 有关更多信息,请参阅 授权核心设备与 Amazon 服务交互。
当你使用
--provision true
选项运行 Amazon IoT Greengrass Core 软件时,该软件会预置一个角色别名并在 nucleus 组件中设置其值。 -
interpolateComponentConfiguration
-
(可选)您可以启用 Greengrass nucleus,以便在组件配置中插入组件配方变量并合并配置更新。我们建议您将此选项设置为,
true
以便核心设备可以运行在其配置中使用配方变量的 Greengrass 组件。此功能适用于该组件的 2.6.0 及更高版本。
默认:
false
networkProxy
-
(可选)用于所有连接的网络代理。有关更多信息,请参阅 通过端口 443 或网络代理进行连接。
重要
当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息:
noProxyAddresses
-
(可选)以逗号分隔的 IP 地址或主机名列表,这些地址或主机名不受代理限制。
proxy
-
要连接的代理。该对象包含以下信息:
url
-
格式为代理服务器的 URL
scheme://userinfo@host:port
。-
scheme
— 方案,必须是http
或https
。重要
Greengrass 核心设备必须运行 Greengrass nucleus v2.5.0 或更高版本才能使用 HTTPS 代理。
如果您配置 HTTPS 代理,则必须将代理服务器 CA 证书添加到核心设备的 Amazon 根 CA 证书中。有关更多信息,请参阅 使核心设备能够信任 HTTPS 代理。
-
userinfo
—(可选)用户名和密码信息。如果您在中指定此信息url
,Greengrass 核心设备将忽略和字段。username
password
-
host
— 代理服务器的主机名或 IP 地址。 -
port
—(可选)端口号。如果您未指定端口,则 Greengrass 核心设备将使用以下默认值:-
http
— 80 -
https
— 443
-
-
username
-
(可选)对代理服务器进行身份验证的用户名。
password
-
(可选)对代理服务器进行身份验证的密码。
mqtt
-
(可选)Greengrass 核心设备的 MQTT 配置。有关更多信息,请参阅 通过端口 443 或网络代理进行连接。
重要
当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息:
port
-
(可选)用于 MQTT 连接的端口。
默认:
8883
keepAliveTimeoutMs
-
(可选)客户端为保持 MQTT 连接活动而发送的每
PING
条消息之间的间隔时间(以毫秒为单位)。此值必须大于pingTimeoutMs
。默认值:
60000
(60 秒) pingTimeoutMs
-
(可选)客户端等待从服务器接收
PINGACK
消息的时间(以毫秒为单位)。如果等待时间超过超时时间,核心设备将关闭并重新打开 MQTT 连接。此值必须小于keepAliveTimeoutMs
。默认值:
30000
(30 秒) operationTimeoutMs
-
(可选)客户端等待 MQTT 操作(例如或)完成的时间(以毫秒为单位)。
CONNECT
PUBLISH
此选项不适用于 MQTTPING
或保持活动状态的消息。默认值:
30000
(30 秒) maxInFlightPublishes
-
(可选)可以同时传输的未确认的 MQTT QoS 1 消息的最大数量。
此功能适用于该组件的 v2.1.0 及更高版本。
默认:
5
有效范围:最大值为 100
maxMessageSizeInBytes
-
(可选)MQTT 消息的最大大小。如果一条消息超过这个大小,Greengrass 核心会以错误拒绝该消息。
此功能适用于该组件的 v2.1.0 及更高版本。
默认值:
131072
(128 KB)有效范围:最大值为
2621440
(2.5 MB) maxPublishRetry
-
(可选)重试发布失败的消息的最大次数。您可以指定
-1
重试次数不限。此功能适用于该组件的 v2.1.0 及更高版本。
默认:
100
spooler
-
(可选)Greengrass 核心设备的 MQTT 后台处理程序配置。该对象包含以下信息:
storageType
-
用于存储消息的存储类型。如果设置
storageType
为Disk
,则pluginName
可以配置。您可指定Memory
或Disk
。此功能适用于 Greengrass nucleus 组件的 v2.11.0 及更高版本。
重要
如果 MQTT 后台处理程序设置
storageType
为,Disk
并且您想将 Greengrass nucleus 从 2.11.x 版本降级到早期版本,则必须将配置更改回到。Memory
Greengrass nucleus 版本 2.10.x 及更早版本支持的唯一配置是。storageType
Memory
不遵循此指导可能会导致后台处理程序中断。这将导致您的 Greengrass 核心设备无法向发送 MQTT 消息。 Amazon Web Services 云默认:
Memory
pluginName
-
(可选)插件组件名称。只有设置为时,才会使用
storageType
此组件Disk
。此选项默认为aws.greengrass.DiskSpooler
并将使用 GreenGr 磁盘后台处理程序 ass 提供的选项。此功能适用于 Greengrass nucleus 组件的 v2.11.0 及更高版本。
默认:
"aws.greengrass.DiskSpooler"
maxSizeInBytes
-
(可选)核心设备在内存中存储未处理的 MQTT 消息的最大缓存大小。如果缓存已满,则新消息将被拒绝。
默认值:
2621440
(2.5 MB) keepQos0WhenOffline
-
(可选)您可以对核心设备离线时收到的 MQTT QoS 0 消息进行后台处理。如果将此选项设置为
true
,则核心设备会对离线时无法发送的 QoS 0 消息进行后台处理。如果将此选项设置为false
,则核心设备会丢弃这些消息。除非线轴已满,否则核心设备总是假脱机 QoS 1 消息。默认:
false
version
-
(可选)MQTT 的版本。您可指定
mqtt3
或mqtt5
。此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
mqtt5
receiveMaximum
-
(可选)代理可以发送的未确认的 QoS1 数据包的最大数量。
此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
100
sessionExpirySeconds
-
(可选)您可以从 IoT Core 请求持续会话的时间(以秒为单位)。默认值为支持的最长时间 Amazon IoT Core。
此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
604800 (7 days)
minimumReconnectDelaySeconds
-
(可选)重新连接行为的选项。MQTT 重新连接的最短时间(以秒为单位)。
此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
1
maximumReconnectDelaySeconds
-
(可选)重新连接行为的选项。MQTT 重新连接的最大时间(以秒为单位)。
此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
120
minimumConnectedTimeBeforeRetryResetSeconds
-
(可选)重新连接行为的选项。在将重试延迟重置回最小值之前,连接必须处于活动状态的时间(以秒为单位)。
此功能适用于 Greengrass nucleus 组件的 v2.10.0 及更高版本。
默认:
30
-
jvmOptions
-
(可选)用于运行 Amazon IoT Greengrass 核心软件的 JVM 选项。有关运行 C Amazon IoT Greengrass ore 软件时推荐的 JVM 选项的信息,请参阅使用 JVM 选项控制内存分配。
重要
当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。
iotDataEndpoint
-
您的 Amazon IoT 数据端点 Amazon Web Services 账户。
当你使用该
--provision true
选项运行 Amazon IoT Greengrass Core 软件时,该软件会从 Amazon IoT 中获取你的数据和凭据端点,并将其设置在 nucleus 组件中。 iotCredEndpoint
-
您的 Amazon IoT 凭证终端节点 Amazon Web Services 账户。
当你使用该
--provision true
选项运行 Amazon IoT Greengrass Core 软件时,该软件会从 Amazon IoT 中获取你的数据和凭据端点,并将其设置在 nucleus 组件中。 greengrassDataPlaneEndpoint
-
此功能在该组件的 2.7.0 及更高版本中可用。
有关更多信息,请参阅 使用由私有 CA 签名的设备证书。
greengrassDataPlanePort
-
此功能在该组件的 v2.0.4 及更高版本中可用。
(可选)用于数据平面连接的端口。有关更多信息,请参阅 通过端口 443 或网络代理进行连接。
重要
您必须指定设备可以进行出站连接的端口。如果您指定被屏蔽的端口,则设备将无法连接 Amazon IoT Greengrass 以接收部署。
从以下选项中进行选择:
-
443
-
8443
默认:
8443
-
awsRegion
-
Amazon Web Services 区域 要使用的。
runWithDefault
-
用于运行组件的系统用户。
重要
当您部署对此配置参数的更改时, Amazon IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息:
posixUser
-
核心设备用于运行通用组件和 Lambda 组件的系统用户的名称或 ID,以及可选的系统组。使用以下格式指定由半角冒号(
:
)分隔的用户和组:user:group
。组是可选的。如果您未指定群组,则 Amazon IoT Greengrass Core 软件将使用该用户的主群组。举例来说,可以指定ggc_user
或ggc_user:ggc_group
。有关更多信息,请参阅 配置运行组件的用户。当你使用
--component-default-user
选项运行 Amazon IoT Greengrass Core 软件安装程序时,软件会在 nucleus 组件中设置此参数。ggc_user
:ggc_group
windowsUser
-
此功能在此组件的 v2.5.0 及更高版本中可用。
用于在 Windows 核心设备上运行此组件的 Windows 用户的名称。用户必须存在于每台 Windows 核心设备上,其用户名和密码必须存储在 LocalSystem 账户的凭据管理器实例中。有关更多信息,请参阅 配置运行组件的用户。
当你使用
--component-default-user
选项运行 Amazon IoT Greengrass Core 软件安装程序时,软件会在 nucleus 组件中设置此参数。ggc_user
systemResourceLimits
-
此功能在该组件的 v2.4.0 及更高版本中可用。 Amazon IoT Greengrass 目前不支持在 Windows 核心设备上使用此功能。
默认情况下,适用于通用和非容器化 Lambda 组件进程的系统资源限制。在创建部署时,您可以覆盖各个组件的系统资源限制。有关更多信息,请参阅 为组件配置系统资源限制。
该对象包含以下信息:
cpus
-
每个组件的进程可以在核心设备上使用的最大 CPU 时间。核心设备的总 CPU 时间等于 CPU 核心的设备数量。例如,在具有 4 个 CPU 内核的核心设备上,您可以将此值设置为,
2
将每个组件的进程使用率限制为每个 CPU 内核的 50%。在具有 1 个 CPU 内核的设备上,您可以将此值设置为,0.25
将每个组件的进程的 CPU 使用率限制在 25% 以内。如果将此值设置为大于 CPU 内核数的数字,则 Amazon IoT Greengrass Core 软件不会限制组件的 CPU 使用率。 memory
-
每个组件的进程可以在核心设备上使用的最大 RAM 量(以千字节为单位)。
-
s3EndpointType
-
(可选)S3 端点类型。此参数仅对美国东部(弗吉尼亚北部)(
us-east-1
) 区域生效。从任何其他区域设置此参数将被忽略。从以下选项中进行选择:-
REGIONAL
— S3 客户端和预签名 URL 使用区域终端节点。 -
GLOBAL
— S3 客户端和预签名 URL 使用旧版终端节点。
默认:
GLOBAL
-
logging
-
(可选)核心设备的日志配置。有关如何配置和使用 Greengrass 日志的更多信息,请参阅。监控Amazon IoT Greengrass日志
该对象包含以下信息:
-
level
-
(可选)要输出的最低日志消息级别。
从以下日志级别中进行选择,此处按级别顺序列出:
-
DEBUG
-
INFO
-
WARN
-
ERROR
默认:
INFO
-
-
format
-
(可选)日志的数据格式。从以下选项中进行选择:
-
TEXT
— 如果您想以文本形式查看日志,请选择此选项。 -
JSON
— 如果您想使用 Greengrass CLI 日志命令查看日志或以编程方式与日志交互,请选择此选项。
默认:
TEXT
-
outputType
-
(可选)日志的输出类型。从以下选项中进行选择:
-
FILE
— C Amazon IoT Greengrass ore 软件将日志输出到您在中指定的目录中的文件outputDirectory
。 -
CONSOLE
— C Amazon IoT Greengrass ore 软件将日志打印到stdout
。选择此选项可在核心设备打印日志时查看日志。
默认:
FILE
-
-
fileSizeKB
-
(可选)每个日志文件的最大大小(以千字节为单位)。日志文件超过此最大文件大小后, Amazon IoT Greengrass Core 软件会创建一个新的日志文件。
此参数仅在您
FILE
为指定时适用outputType
。默认:
1024
-
totalLogsSizeKB
-
(可选)每个组件(包括 Greengrass 核)的最大日志文件总大小(以千字节为单位)。Greengrass nucleus 的日志文件还包括来自插件组件的日志。当组件的日志文件总大小超过此最大大小后, Amazon IoT Greengrass Core 软件会删除该组件最旧的日志文件。
此参数等同于日志管理器组件的磁盘空间限制参数 (
diskSpaceLimit
),您可以为 Greengrass 核(系统)和每个组件指定该参数。 Amazon IoT Greengrass Core 软件使用两个值中的最小值作为 Greengrass 核和每个组件的最大总日志大小。此参数仅在您
FILE
为指定时适用outputType
。默认:
10240
-
outputDirectory
-
(可选)日志文件的输出目录。
此参数仅在您
FILE
为指定时适用outputType
。默认:
, Amazon IoT Greengrass 根文件夹在
/logs/greengrass/v2
哪里。/greengrass/v2
-
-
fleetstatus
-
此参数在该组件的 v2.1.0 及更高版本中可用。
(可选)核心设备的队列状态配置。
该对象包含以下信息:
periodicStatusPublishIntervalSeconds
-
(可选)核心设备向发布设备状态的间隔时间(以秒为单位) Amazon Web Services 云。
最短:
86400
(24 小时)默认值:
86400
(24 小时)
-
telemetry
-
(可选)核心设备的系统运行状况遥测配置。有关遥测指标以及如何处理遥测数据的更多信息,请参阅。从Amazon IoT Greengrass核心设备收集系统运行状况遥测数据
该对象包含以下信息:
enabled
-
(可选)您可以启用或禁用遥测。
默认:
true
periodicAggregateMetricsIntervalSeconds
-
(可选)核心设备汇总指标的时间间隔(以秒为单位)。
如果将此值设置为低于支持的最小值,则 nucleus 将改用默认值。
最低:
3600
默认:
3600
periodicPublishMetricsIntervalSeconds
-
(可选)核心设备向发布遥测指标的间隔时间(以秒为单位)。 Amazon Web Services 云
如果将此值设置为低于支持的最小值,则 nucleus 将改用默认值。
最低:
86400
默认:
86400
deploymentPollingFrequencySeconds
-
(可选)轮询部署通知的时间段(以秒为单位)。
默认:
15
componentStoreMaxSizeBytes
-
(可选)组件存储在磁盘上的最大大小,其中包括组件配方和工件。
默认值:
10000000000
(10 GB) -
platformOverride
-
(可选)标识核心设备平台的属性字典。使用它来定义自定义平台属性,组件配方可以使用这些属性来识别组件的正确生命周期和工件。例如,您可以定义硬件功能属性以仅部署最少的构件集以供组件运行。有关更多信息,请参阅组件配方中的清单平台参数。
您也可以使用此参数来覆盖核心设备的
architecture
和平台属性。os
-
httpClient
-
此参数在该组件的 v2.5.0 及更高版本中可用。
(可选)核心设备的 HTTP 客户端配置。这些配置选项适用于该组件发出的所有 HTTP 请求。如果核心设备在速度较慢的网络上运行,则可以增加这些超时持续时间以防止 HTTP 请求超时。
该对象包含以下信息:
connectionTimeoutMs
-
(可选)连接请求超时之前等待连接打开的时间(以毫秒为单位)。
默认:
2000
(2 秒) socketTimeoutMs
-
(可选)在连接超时之前等待通过打开的连接传输数据的时间(以毫秒为单位)。
默认值:
30000
(30 秒)
例 示例:配置合并更新
{ "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias", "networkProxy": { "noProxyAddresses": "http://192.168.0.1,www.example.com", "proxy": { "url": "http://my-proxy-server:1100", "username": "Mary_Major", "password": "pass@word1357" } }, "mqtt": { "port": 443 }, "greengrassDataPlanePort": 443, "jvmOptions": "-Xmx64m", "runWithDefault": { "posixUser": "ggc_user:ggc_group" } }
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表描述了该组件的每个版本中的更改。
版本 |
更改 |
---|---|
2.12.6 |
|
2.12.5 |
|
2.12.4 |
|
2.12.3 |
警告此版本不再可用。此版本的改进将在此组件的更高版本中提供。 错误修复和改进
|
2.12.2 |
|
2.12.1 |
|
2.12.0 |
|
2.11.3 |
|
2.11.2 |
|
2.11.1 |
|
2.11.0 |
|
2.10.3 |
|
2.10.2 |
|
2.10.1 |
|
2.10.0 |
|
2.9.6 |
|
2.9.5 |
|
2.9.4 |
|
2.9.3 |
|
2.9.2 |
|
2.9.1 |
|
2.9.0 |
|
2.8.1 |
|
2.8.0 |
|
2.7.0 |
|
2.6.0 |
|
2.5.6 |
|
2.5.5 |
|
2.5.4 |
|
2.5.3 |
|
2.5.2 |
|
2.5.1 |
警告此版本不再可用。此版本的改进将在此组件的更高版本中提供。
|
2.5.0 |
|
2.4.0 |
|
2.3.0 |
|
2.2.0 |
|
2.1.0 |
|
2.0.5 |
|
2.0.4 |
|
2.0.3 |
初始版本。 |