本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 更新)可能会导致您的设备意外重启。
为防止设备上运行的组件出现意外更新,我们建议您在创建部署时直接包含该组件的首选版本。有关 Amazon IoT Greengrass 核心软件更新行为的更多信息,请参阅更新Amazon IoT Greengrass核心软件 (OTA)。
版本
此组件有以下版本:
-
2.13.x
-
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 nucleus 组件在中运行。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
指向代币交换 Amazon IoT 角色的IAM角色别名。 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 nucleu s 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
-
(可选)客户端为保持连接活动而发送的每
PING
条消息之间的间隔时间(以毫秒为单位)。MQTT此值必须大于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
-
(可选)Greeng MQTT rass 核心设备的后台处理程序配置。该对象包含以下信息:
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选项。有关运行 Amazon IoT Greengrass 酷睿软件的推荐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
将每个组件的进程使用率限制在 25% 以内CPU。如果将此值设置为大于CPU内核数的数字,则 Amazon IoT Greengrass Core 软件不会限制组件的CPU使用。 memory
-
每个组件的进程可以在核心设备上使用的最大数量RAM(以千字节为单位)。
-
s3EndpointType
-
(可选)S3 端点类型。此参数仅对美国东部(弗吉尼亚北部)(
us-east-1
) 区域生效。从任何其他区域设置此参数将被忽略。从以下选项中进行选择:-
REGIONAL
— S3 客户端和预签名URL使用区域终端节点。 -
GLOBAL
— S3 客户端和预签名URL使用传统端点。
默认:
GLOBAL
-
-
fipsMode
-
(可选)让 Greengrass 使用端点。FIPS有关如何启用FIPS终端节点的更多信息,请参阅终FIPS端节点。
从以下选项中进行选择:
-
true
设置为 true 时,端点将使用FIPS端点。 -
false
如果为 false,则端点将不使用FIPS端点。
默认:
false
-
logging
-
(可选)核心设备的日志配置。有关如何配置和使用 Greengrass 日志的更多信息,请参阅。监控Amazon IoT Greengrass日志
该对象包含以下信息:
-
level
-
(可选)要输出的最低日志消息级别。
从以下日志级别中进行选择,此处按级别顺序列出:
-
DEBUG
-
INFO
-
WARN
-
ERROR
默认:
INFO
-
-
format
-
(可选)日志的数据格式。从以下选项中进行选择:
-
TEXT
— 如果您想以文本形式查看日志,请选择此选项。 -
JSON
— 如果您想使用 Greengrass lo CLI gs 命令查看日志或以编程方式与日志交互,请选择此选项。
默认:
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.13.0 |
|
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 |
初始版本。 |