本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Greengrass 核
Greengrass nucleus 组件 (aws.greengrass.Nucleus
) 是必备组件,也是在设备上运行Amazon IoT Greengrass核心软件的最低要求。您可以配置此组件以远程自定义和更新您的Amazon IoT Greengrass核心软件。部署此组件以在核心设备上配置代理、设备角色和Amazon IoT事物配置等设置。
重要
当 nucleus 组件的版本发生变化或更改某些配置参数时,Amazon IoT GreengrassCore 软件(包括 nucleus 和设备上的所有其他组件)会重新启动以应用更改。
部署组件时,Amazon IoT Greengrass安装该组件所有依赖项的最新支持版本。因此,如果您向事物组添加新设备或更新针对这些设备的部署,则Amazon提供的公共组件的新补丁版本可能会自动部署到您的核心设备上。某些自动更新(例如 nucleus 更新)可能会导致您的设备意外重启。
为防止设备上运行的组件出现意外更新,我们建议您在创建部署时直接包含该组件的首选版本。有关Amazon IoT Greengrass Core 软件更新行为的更多信息,请参阅更新Amazon IoT Greengrass核心软件 (OTA)。
版本
此组件有以下版本:
-
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 和Amazon IoT Greengrass Core 软件。有关更多信息,请参阅设备要求:
附属物
Greengrass 核心不包含任何组件依赖关系。但是,一些Amazon提供的组件将nucleus作为依赖项包括在内。有关更多信息,请参阅Amazon-提供的组件:
有关组件依赖关系的更多信息,请参阅组件配方参考。
下载和安装
你可以下载一个安装程序,在你的设备上设置 Greengrass nucleus 组件。此安装程序将您的设备设置为 Greengrass 核心设备。您可以执行两种类型的安装:一种是为你创建所需Amazon资源的快速安装,另一种是手动安装,你自己创建Amazon资源。有关更多信息,请参阅安装 Amazon IoT Greengrass Core 软件:
你也可以按照教程安装 Greengrass 核心并探索 Greengrass 组件开发。有关更多信息,请参阅教程:Amazon IoT Greengrass V2 入门:
配置
此组件提供以下配置参数,您可以在部署组件时对其进行自定义。某些参数需要重新启动Amazon IoT Greengrass核心软件才能生效。有关为何和如何配置此组件的详细信息,请参阅配置Amazon IoT Greengrass核心软件。
iotRoleAlias
-
指向代币交换 IAM 角色的角色别名。Amazon IoTAmazon IoT凭证提供者担任此角色是为了允许 Greengrass 核心设备与Amazon服务进行交互。有关更多信息,请参阅授权核心设备与Amazon服务:
当您使用该
--provision true
选项运行Amazon IoT Greengrass Core 软件时,该软件会预置角色别名并在 nucleus 组件中设置其值。 -
interpolateComponentConfiguration
-
(可选)您可以启用 Greengrass 核心来插值组件配置中的组件配方变量并合并配置更新。我们建议您将此选项设置为,
true
以便核心设备可以运行在其配置中使用配方变量的 Greengrass 组件。此功能适用于此组件的 v2.6.0 及更高版本。
默认值:
false
networkProxy
-
(可选)用于所有连接的网络代理。有关更多信息,请参阅通过端口 443 或网络代理进行连接:
重要
当您部署对此配置参数的更改时,Amazon IoT Greengrass核心软件会重新启动以便使更改生效。
此对象包含以下信息:
noProxyAddresses
-
(可选)免于代理的 IP 地址或主机名列表(以逗号分隔)。
proxy
-
要连接的代理。此对象包含以下信息:
url
-
格式为的代理服务器的 URL
scheme://userinfo@host:port
。-
scheme
— 方案,必须是http
或https
。重要
Greengrass 核心设备必须运行 Greengrass nuc leus 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核心软件会重新启动以便使更改生效。
此对象包含以下信息:
port
-
(可选)用于 MQTT 连接的端口。
默认值:
8883
keepAliveTimeoutMs
-
(可选)客户端为保持 MQTT 连接处于活动状态而发送的每
PING
条消息之间的时间间隔(以毫秒为单位)。默认值:
60000
(60 秒) pingTimeoutMs
-
(可选)客户端等待从服务器接收
PINGACK
消息的时间(以毫秒为单位)。如果等待时间超过超时,核心设备将关闭并重新打开 MQTT 连接。默认值:
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 后台处理器配置。此对象包含以下信息:
maxSizeInBytes
-
(可选)核心设备在内存中存储未处理的 MQTT 消息的缓存的最大大小。如果缓存已满,则核心设备会丢弃最旧的消息以添加新消息。
默认值:
2621440
(2.5 MB) keepQos0WhenOffline
-
(可选)您可以假装核心设备在脱机时收到的 MQTT QoS 0 消息。如果将此选项设置为
true
,则核心设备会脱机处理脱机时无法发送的 QoS 0 消息。如果将此选项设置为false
,则核心设备会丢弃这些消息。除非缓冲区已满,否则核心设备总是脱机 QoS 1 消息。默认值:
false
-
jvmOptions
-
(可选)用于运行Amazon IoT Greengrass核心软件的 JVM 选项。有关运行Amazon IoT Greengrass Core 软件的推荐 JVM 选项的信息,请参阅使用 JVM 选项控制内存分配。
重要
当您部署对此配置参数的更改时,Amazon IoT Greengrass核心软件会重新启动以便使更改生效。
iotDataEndpoint
-
您的Amazon IoT数据终端节点Amazon Web Services 账户。
当您使用该
--provision true
选项运行Amazon IoT Greengrass Core 软件时,该软件会从 nucleus 组件获取您的数据和凭据端点Amazon IoT并将其设置在 nucleus 组件中。 iotCredEndpoint
-
您的Amazon IoT证书终端节点Amazon Web Services 账户。
当您使用该
--provision true
选项运行Amazon IoT Greengrass Core 软件时,该软件会从 nucleus 组件获取您的数据和凭据端点Amazon IoT并将其设置在 nucleus 组件中。 greengrassDataPlaneEndpoint
-
此功能在此组件的 v2.7.0 及更高版本中提供。
有关更多信息,请参阅使用由私有证书颁发机构签名的设备证书:
greengrassDataPlanePort
-
此功能在此组件的 v2.0.4 及更高版本中可用。
(可选)用于数据平面连接的端口。有关更多信息,请参阅通过端口 443 或网络代理进行连接:
重要
您必须指定设备可以进行出站连接的端口。如果您指定的端口被阻止,则该设备将无法连接到Amazon IoT Greengrass以接收部署。
从以下选项中进行选择:
-
443
-
8443
默认值:
8443
-
awsRegion
-
Amazon Web Services 区域要使用的。
runWithDefault
-
用于运行组件的系统用户。
重要
当您部署对此配置参数的更改时,Amazon IoT Greengrass核心软件会重新启动以便使更改生效。
此对象包含以下信息:
posixUser
-
系统用户的名称或 ID,以及核心设备用于运行通用组件和 Lambda 组件的系统组(可选)。使用以下格式指定由半角冒号(
:
)分隔的用户和组:user:group
。组是可选的。如果您未指定组,则Amazon IoT Greengrass核心软件会为用户使用主要组。举例来说,可以指定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 账户的 Credenties Manager 中。有关更多信息,请参阅配置运行组件的用户:
当您使用该
--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 核心数量的数字,则Amazon IoT Greengrass核心软件不会限制组件的 CPU 使用。 memory
-
每个组件进程可在核心设备上使用的最大 RAM 数量(以千字节为单位)。
logging
-
(可选)核心设备的日志配置。有关如何配置和使用 Greengrass 日志的详细信息,请参阅监控Amazon IoT Greengrass日志。
此对象包含以下信息:
-
level
-
(可选)输出的最低日志消息级别。
从以下日志级别中选择,此处按级别顺序列出:
-
DEBUG
-
INFO
-
WARN
-
ERROR
默认值:
INFO
-
-
format
-
(可选)日志的数据格式。从以下选项中进行选择:
-
TEXT
— 如果您要以文本形式查看日志,请选择此选项。 -
JSON
— 如果您想使用 Greengrass CLI 日志命令查看日志或以编程方式与日志交互,请选择此选项。
默认值:
TEXT
-
outputType
-
(可选)日志的输出类型。从以下选项中进行选择:
-
FILE
—Amazon IoT Greengrass Core 软件将日志输出到您在中指定的目录中的文件中outputDirectory
。 -
CONSOLE
—Amazon IoT Greengrass 核心软件将日志打印到stdout
。选择此选项可在核心设备打印日志时查看日志。
默认值:
FILE
-
-
fileSizeKB
-
(可选)每个日志文件的最大大小(以千字节为单位)。在日志文件超过此最大文件大小后,Amazon IoT GreengrassCore 软件会创建一个新的日志文件。
此参数仅在您
FILE
为指定时适用outputType
。默认值:
1024
-
totalLogsSizeKB
-
(可选)每个组件(包括 Greengrass nucleus)的日志文件的最大总大小(以千字节为单位)。Greengrass 核心的日志文件还包括来自插件组件的日志。当组件的日志文件总大小超过此最大大小后,Amazon IoT GreengrassCore 软件会删除该组件最旧的日志文件。
此参数等同于日志管理器组件的磁盘空间限制参数 (
diskSpaceLimit
),您可以为 Greengrass nucleus(系统)和每个组件指定该参数。Amazon IoT GreengrassCore 软件使用两个值中的最小值作为 Greengrass 核和每个分量的最大总对数大小。此参数仅在您
FILE
为指定时适用outputType
。默认值:
10240
-
outputDirectory
-
(可选)日志文件的输出目录。
此参数仅在您
FILE
为指定时适用outputType
。默认:
,其中/greengrass/v2
/logs/greengrass/v2
是Amazon IoT Greengrass根文件夹。
-
-
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
-
(可选)用于识别核心设备平台的属性字典。使用它来定义自定义平台属性,组件配方可以使用这些属性来识别组件的正确生命周期和工件。例如,您可以定义硬件功能属性,以便仅为组件运行部署最少的工件集。有关更多信息,请参阅组件配方中的清单平台参数。
您也可以使用此参数来
os
覆盖核心设备的architecture
和平台属性。 -
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根文件夹的路径。
更改日志
下表描述组件每个版本的更改。
Version |
变更 |
---|---|
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 |
初始版本。 |