本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Greengrass 核
Greengrass 核心组件 (aws.greengrass.Nucleus
) 是必备组件,是在设备上运行Amazon IoT Greengrass核心软件的最低要求。您可以配置此组件以远程自定义和更新您的Amazon IoT Greengrass Core 软件。部署此组件以在核心设备上配置代理、设备角色和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 核心和Amazon IoT Greengrass核心软件。有关更多信息,请参阅设备要求:
附属物
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 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 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核心软件会重新启动以使更改生效。
此对象包含以下信息:
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 软件时,该软件会从中获取您的数据和凭据端点Amazon IoT并将其设置在 nucleus 组件中。 iotCredEndpoint
-
您的Amazon IoT证书终端节点Amazon Web Services 账户。
当您使用该
--provision true
选项运行Amazon IoT Greengrass Core 软件时,该软件会从中获取您的数据和凭据端点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 账户的 Creder Manager Sanager Sanager Sanager Sanager 中。有关更多信息,请参阅配置运行组件的用户:
使用该
--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核心软件不会限制组件的 CPU 使用。 memory
-
每个组件进程可在核心设备上使用的最大 RAM 数量(以千字节表示)。
logging
-
(可选)核心设备的日志配置。有关如何配置和使用 Greengrass 日志的详细信息,请参阅监控Amazon IoT Greengrass日志。
此对象包含以下信息:
-
level
-
(可选)要输出的最低日志消息级别。
从以下日志级别中选择,此处按级别顺序列出:
-
DEBUG
-
INFO
-
WARN
-
ERROR
默认值:
INFO
-
-
format
-
(可选)日志的数据格式。从以下选项中进行选择:
-
TEXT
— 如果要以文本形式查看日志,请选择此选项。 -
JSON
— 如果您想使用 Greengrass CLI 日志命令查看日志或以编程方式与日志交互,请选择此选项。
默认值:
TEXT
-
outputType
-
(可选)日志的输出类型。从以下选项中进行选择:
-
FILE
— CAmazon IoT Greengrass ore 软件将日志输出到您在中指定的目录中的文件outputDirectory
。 -
CONSOLE
— CAmazon IoT Greengrass ore 软件将日志打印到stdout
。选择此选项可在核心设备打印日志时查看日志。
默认值:
FILE
-
-
fileSizeKB
-
(可选)每个日志文件的最大大小(以千字节为单位)。日志文件超过此最大文件大小后,Amazon IoT GreengrassCore 软件会创建一个新的日志文件。
此参数仅在您指定时适
FILE
用outputType
。默认值:
1024
-
totalLogsSizeKB
-
(可选)每个组件(包括 Greengrass 核)的日志文件的最大总大小(以千字节为单位)。Greengrass nucleus 的日志文件还包括来自插件组件的日志。当组件的日志文件总大小超过此最大大小后,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.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 |
初始版本。 |