

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Greengrass Nucleus
<a name="greengrass-nucleus-component"></a>

Greengrass nucleus 组件 `aws.greengrass.Nucleus` () 是必备组件，也是在设备上运行 AWS IoT Greengrass 核心软件的最低要求。您可以将此组件配置为远程自定义和更新您的 AWS IoT Greengrass Core 软件。部署此组件可在核心设备上配置代理、设备角色和 AWS IoT 事物配置等设置。

**注意**  
从 Greengrass 2.14.0 版本开始，内存占用优化版核心设备运行时可用于受限的边缘设备。请参阅 [Greengrass Nucleus Lite](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)，了解有关其配置和使用的更多信息。

**重要**  
当 nucleus 组件的版本发生变化时，或者当你更改某些配置参数时， AWS IoT Greengrass Core 软件（包括 nucleus 和设备上的所有其他组件）会重新启动以应用更改。  
<a name="component-patch-update"></a>部署组件时， AWS IoT Greengrass 会安装该组件所有依赖项的最新支持版本。因此，如果您向事物组中添加新设备或更新针对这些设备的部署，则 AWS提供的公共组件的新补丁版本可能会自动部署到您的核心设备上。某些自动更新（例如 Nucleus 更新）可能会导致您的设备意外重启。  
<a name="component-version-pinning"></a>为防止设备上运行的组件出现意外更新，我们建议您在[创建部署](create-deployments.md)时直接包含您对该组件的首选版本。有关 C AWS IoT Greengrass ore 软件更新行为的更多信息，请参阅[更新 AWS IoT Greengrass Core 软件（OTA）](update-greengrass-core-v2.md)。

**Topics**
+ [版本](#greengrass-nucleus-component-versions)
+ [设备要求](#greengrass-v2-requirements)
+ [支持的平台](#greengrass-v2-supported-platforms)
+ [操作系统](#greengrass-nucleus-component-os-support)
+ [要求](#greengrass-nucleus-component-requirements)
+ [依赖项](#greengrass-nucleus-component-dependencies)
+ [下载并安装](#greengrass-nucleus-component-install)
+ [配置](#greengrass-nucleus-component-configuration)
+ [本地日志文件](#greengrass-nucleus-component-log-file)
+ [更改日志](#greengrass-nucleus-component-changelog)

## 版本
<a name="greengrass-nucleus-component-versions"></a>

此组件具有以下版本：
+ 2.17.x
+ 2.16.x
+ 2.15.x
+ 2.14.x
+ 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

## 设备要求
<a name="greengrass-v2-requirements"></a>

**注意**  
您可以使用 AWS IoT Device Tester AWS IoT Greengrass 来验证您的设备是否可以运行 AWS IoT Greengrass Core 软件并与通信 AWS Cloud。有关更多信息，请参阅 [使用适用于 AWS IoT Greengrass V2 的 AWS IoT Device Tester](device-tester-for-greengrass-ug.md)。

------
#### [ Linux ]
+ <a name="requirement-supported-region"></a>使用支持[AWS 区域](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)的 AWS IoT Greengrass V2。有关支持的区域列表，请参见 *AWS 一般参考* 中的 [AWS IoT Greengrass V2 端点和配额](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)。
+ 至少 256 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。此要求不包括部署到核心设备的组件。
+ 分配给 AWS IoT Greengrass 核心软件的最少 96 MB 内存。此要求不包括核心设备上运行的组件。有关更多信息，请参阅 [使用 JVM 选项控制内存分配](configure-greengrass-core-v2.md#jvm-tuning)。
+ Java 运行时环境（JRE）版本 8 或更高版本。Java 必须在设备的 [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) 环境变量中可用。要使用 Java 开发自定义组件，您必须安装 Java 开发工具包 (JDK)。我们建议您使用 [Amazon Corretto](https://aws.amazon.com/corretto/) 或 [OpenJDK](https://openjdk.java.net/) 长期支持版本。需要版本 8 或更高版本。
+ [GNU C 库](https://www.gnu.org/software/libc/)（glibc）版本 2.25 或更高版本。
+ 您可以以 root 用户身份运行 AWS IoT Greengrass Core 软件。例如，使用 `sudo`。您也可以以非 root 用户身份运行 AWS IoT Greengrass Core 软件。有关更多信息，请参阅 [将 AWS IoT Greengrass V2 核心设备设置为非 root](setup-greengrass-non-root.md)。
+ 运行 AWS IoT Greengrass Core 软件（例如`root`）的 root 用户必须具有`sudo`与任何用户和任何组一起运行的权限。`/etc/sudoers` 文件必须授予该用户以其他组身份运行 `sudo` 的权限。用户权限在 `/etc/sudoers` 中应如以下示例所示。

  ```
  root    ALL=(ALL:ALL) ALL
  ```
+ 核心设备必须能够对一组端点和端口执行出站请求。有关更多信息，请参阅 [允许设备流量通过代理或防火墙](allow-device-traffic.md)。
+ 必须使用 `exec` 权限挂载 `/tmp` 目录。
+ 以下所有 Shell 命令：
  + `ps -ax -o pid,ppid`
  + `sudo`
  + `sh`
  + `kill`
  + `cp`
  + `chmod`
  + `rm`
  + `ln`
  + `echo`
  + `exit`
  + `id`
  + `uname`
  + `grep`
+ 您的设备可能还需要以下可选的 Shell 命令：
  + （可选）`systemctl`。此命令用于将 AWS IoT Greengrass Core 软件设置为系统服务。
  + （可选）`useradd`、`groupadd` 和 `usermod`。这些命令用于设置 `ggc_user` 系统用户和 `ggc_group` 系统组。
  + （可选）`mkfifo`。此命令用于将 Lambda 函数作为组件运行。
+ 要为组件进程配置系统资源限制，您的设备必须运行 Linux 内核版本 2.6.24 或更高版本。
+ 要运行 Lambda 函数，您的设备必须满足更多要求。有关更多信息，请参阅 [Lambda 函数要求](setting-up.md#greengrass-v2-lambda-requirements)。

------
#### [ Windows ]
+ <a name="requirement-supported-region"></a>使用支持[AWS 区域](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)的 AWS IoT Greengrass V2。有关支持的区域列表，请参见 *AWS 一般参考* 中的 [AWS IoT Greengrass V2 端点和配额](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)。
+ 至少 256 MB 磁盘空间可供 AWS IoT Greengrass 酷睿软件使用。此要求不包括部署到核心设备的组件。
+ 分配给 AWS IoT Greengrass 核心软件的最低 160 MB 内存。此要求不包括核心设备上运行的组件。有关更多信息，请参阅 [使用 JVM 选项控制内存分配](configure-greengrass-core-v2.md#jvm-tuning)。
+ Java 运行时环境（JRE）版本 8 或更高版本。Java 必须在设备的 [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) 系统变量中可用。要使用 Java 开发自定义组件，您必须安装 Java 开发工具包 (JDK)。我们建议您使用 [Amazon Corretto](https://aws.amazon.com/corretto/) 或 [OpenJDK](https://openjdk.java.net/) 长期支持版本。需要版本 8 或更高版本。
**注意**  
要使用 [Greengrass Nucleus](#greengrass-nucleus-component) 版本 2.5.0，您必须使用 64 位版本的 Java 运行时环境（JRE）。Greengrass nucleus 版本 2.5.1 支持 32 位和 64 位。 JREs
+ 安装 AWS IoT Greengrass Core 软件的用户必须是管理员。
+ 您必须将 AWS IoT Greengrass Core 软件作为系统服务进行安装。安装软件时指定 `--setup-system-service true`。
+ 每个运行组件进程的用户都必须存在于 LocalSystem 账户中，并且该用户的名字和密码必须位于该 LocalSystem 账户的 Credential Manager 实例中。当你按照说明[安装 C AWS IoT Greengrass ore 软件](install-greengrass-core-v2.md)时，你可以设置这个用户。
+ 核心设备必须能够对一组端点和端口执行出站请求。有关更多信息，请参阅 [允许设备流量通过代理或防火墙](allow-device-traffic.md)。

------

## 支持的平台
<a name="greengrass-v2-supported-platforms"></a>

AWS IoT Greengrass 正式支持运行以下平台的设备。平台未包含在此列表中的设备可能可以运行，但只能在这些指定平台上 AWS IoT Greengrass 进行测试。

------
#### [ Linux ]

架构：
+ Armv7l
+ Armv8 () AArch64
+ x86\$164

------
#### [ Windows ]

架构：
+ x86\$164

版本：
+ Windows 10
+ Windows 11
+ Windows Server 2019
+ Windows Server 2022

**注意**  
Windows 设备目前不支持某些 AWS IoT Greengrass 功能。有关更多信息，请参阅[Greengrass 功能兼容性](operating-system-feature-support-matrix.md)和[功能注意事项](#greengrass-v2-windows-feature-considerations)。

------

### 功能注意事项
<a name="greengrass-v2-windows-feature-considerations"></a>

Windows 设备目前不支持某些 AWS IoT Greengrass 功能。查看功能差异以确认 Windows 设备是否满足您的要求。有关更多信息，请参阅 [Greengrass 功能兼容性](operating-system-feature-support-matrix.md)。

[要构建基于 Linux 的自定义操作系统，可以在项目 AWS IoT Greengrass 中使用 BitBake 配方。`meta-aws`](https://github.com/aws/meta-aws/tree/master/recipes-iot)该`meta-aws`项目提供了一些方法，可用于在使用Yocto Project构建 AWS 框架[OpenEmbedded](https://www.openembedded.org/wiki/Main_Page)和Yocto Project构建框架构建的[嵌入式Linux](https://elinux.org/) 系统中构建边缘软件功能。[Yocto 项目](https://www.yoctoproject.org/)是一个开源协作项目，可帮助您为嵌入式应用程序构建基于 Linux 的自定义系统，而不考虑硬件架构。在您的设备上 AWS IoT Greengrass 安装、配置和自动运行 AWS IoT Greengrass Core 软件的 BitBake 秘诀。

Linux 平台也可以 AWS IoT Greengrass 在 Docker 容器中运行。有关更多信息，请参阅 [在 Docker 容器中运行 AWS IoT Greengrass 核心软件](run-greengrass-docker.md)。

## 操作系统
<a name="greengrass-nucleus-component-os-support"></a>

此组件可以安装在运行以下操作系统的核心设备上：
+ Linux
+ Windows

有关更多信息，请参阅 [支持的平台](#greengrass-v2-supported-platforms)。

## 要求
<a name="greengrass-nucleus-component-requirements"></a>

设备必须满足某些要求才能安装和运行 Greengrass nucleus 和 Core 软件。 AWS IoT Greengrass 有关更多信息，请参阅 [设备要求](#greengrass-v2-requirements)。

支持 Greengrass Nucleus 组件在 VPC 中运行。要在 VPC 中部署此组件，需要满足以下条件。
+ Greengrass 核心组件必须连接到、 AWS IoT data凭证 AWS IoT 和 Amazon S3。

## 依赖项
<a name="greengrass-nucleus-component-dependencies"></a>

Greengrass Nucleus 不包含任何组件依赖关系。但是，一些 AWS提供的组件将内核作为依赖关系包含在内。有关更多信息，请参阅 [AWS提供的组件](public-components.md)。

有关组件依赖关系的更多信息，请参阅[组件配方参考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## 下载并安装
<a name="greengrass-nucleus-component-install"></a>

您可以下载安装程序，在您的设备上安装 Greengrass Nucleus 组件。此安装程序将您的设备设置为 Greengrass 核心设备。您可以执行两种类型的安装：一种是为您创建所需 AWS 资源的快速安装，另一种是手动安装，您可以自己创建 AWS 资源。有关更多信息，请参阅 [安装 AWS IoT Greengrass Core 软件](install-greengrass-core-v2.md)。

您也可以按照教程安装 Greengrass Nucleus 并探索 Greengrass 组件开发。有关更多信息，请参阅 [教程：AWS IoT Greengrass V2 入门](getting-started.md)。

## 配置
<a name="greengrass-nucleus-component-configuration"></a>

此组件提供您可以在部署组件时自定义的以下配置参数。某些参数要求 AWS IoT Greengrass Core软件重新启动才能生效。有关为什么以及如何配置此组件的详细信息，请参阅 [配置 AWS IoT Greengrass 核心软件](configure-greengrass-core-v2.md)。

`iotRoleAlias`  
<a name="nucleus-component-configuration-iot-role-alias"></a>指向令牌交换 IAM 角色的角色别名。 AWS IoT AWS IoT 凭证提供者扮演此角色是为了允许 Greengrass 核心设备与服务进行交互。 AWS 有关更多信息，请参阅 [授权核心设备与 AWS 服务交互](device-service-role.md)。  
当你使用`--provision true`选项运行 AWS IoT Greengrass Core 软件时，该软件会预置一个角色别名并在 nucleus 组件中设置其值。

  `interpolateComponentConfiguration`   
（可选）您可以启用 Greengrass Nucleus，以便在组件配置中插入[组件配方变量](component-recipe-reference.md#recipe-variables)并[合并配置更新](update-component-configurations.md#merge-configuration-update-recipe-variables)。我们建议您将此选项设置为 `true`，以便核心设备可以运行在其配置中使用配方变量的 Greengrass 组件。  
此组件的 v2.6.0 及更高版本中提供了此功能。  
默认值：`false`

`networkProxy`  
（可选）用于所有连接的网络代理。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
<a name="nucleus-component-parameter-restart-para"></a>当您部署对此配置参数的更改时， AWS IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息：    
`noProxyAddresses`  
（可选）不使用代理的 IP 地址或主机名的逗号分隔列表。  
`proxy`  
要连接的代理。该对象包含以下信息：    
`url`  
代理服务器的 URL，格式为 `scheme://userinfo@host:port`。  <a name="nucleus-component-configuration-proxy-url-segments"></a>
+ `scheme` – 方案，必须是 `http` 或 `https`。
**重要**  
<a name="https-proxy-greengrass-nucleus-requirement"></a>Greengrass 核心设备必须运行 [Greengrass Nucleus](#greengrass-nucleus-component) v2.5.0 或更高版本才能使用 HTTPS 代理。  
如果您配置 HTTPS 代理，则必须将代理服务器 CA 证书添加到核心设备的 Amazon 根 CA 证书中。有关更多信息，请参阅 [使核心设备信任 HTTPS 代理](configure-greengrass-core-v2.md#https-proxy-certificate-trust)。
+ `userinfo` –（可选）用户名和密码信息。如果您在 `url` 中指定此信息，则 Greengrass 核心设备将忽略 `username` 和 `password` 字段。
+ `host` – 代理服务器的主机名或 IP 地址。
+ `port` –（可选）端口号。如果您未指定端口，则 Greengrass 核心设备将使用以下默认值：
  + `http` – 80
  + `https` – 443  
`username`  
（可选）代理服务器进行身份验证时使用的用户名。  
`password`  
（可选）用于对代理服务器进行身份验证的密码。

`mqtt`  
（可选）Greengrass 核心设备的 MQTT 配置。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
<a name="nucleus-component-parameter-restart-para"></a>当您部署对此配置参数的更改时， AWS IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息：    
`port`  
（可选）用于 MQTT 连接的端口。  
默认值：`8883`  
`keepAliveTimeoutMs`  
（可选）客户端为保持 MQTT 连接处于活动状态而发送的每条 `PING` 消息之间的时间（以毫秒为单位）。此值必须大于 `pingTimeoutMs`。  
默认值：`60000`（60 秒）。  
`pingTimeoutMs`  
（可选）客户端等待从服务器接收 `PINGACK` 消息的时间（以毫秒为单位）。如果等待时间超过了超时时间，则核心设备将关闭并重新打开 MQTT 连接。此值必须小于 `keepAliveTimeoutMs`。  
默认值：`30000`（30 秒）  
`operationTimeoutMs`  
（可选）客户端等待 MQTT 操作（例如 `CONNECT` 或 `PUBLISH`）完成的时间（以毫秒为单位）。此选项不适用于 MQTT `PING` 或保持活动状态的消息。  
默认值：`30000`（30 秒）  
`maxInFlightPublishes`  
（可选）可同时传输的未确认 MQTT QoS 1 消息的最大数量。  
此组件的 v2.1.0 及更高版本中提供了此功能。  
默认值：`5`  
有效范围：最大值为 100  
`maxMessageSizeInBytes`  
（可选）MQTT 消息的最大大小。如果一条消息超过此大小，Greengrass Nucleus会拒绝该消息并给出错误。  
此组件的 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 组件](#greengrass-nucleus-component)的 v2.11.0 及更高版本。  
如果将 MQTT 后台处理程序 `storageType` 设置为 `Disk`，并且您想将 Greengrass Nucleus从 2.11.x 版本降级到早期版本，则必须将配置更改回到 `Memory`。Greengrass Nucleus版本 2.10.x 及更早版本支持的 `storageType` 的唯一配置是 `Memory`。不遵循此指南可能会导致后台处理程序中断。这将导致您的 Greengrass 核心设备无法向 AWS Cloud发送 MQTT 消息。
默认值：`Memory`  
`pluginName`  
（可选）插件组件名称。仅当 `storageType` 设置为 `Disk` 时，才会使用此组件。此选项默认为 `aws.greengrass.DiskSpooler`，并将使用 Greengrass 提供的 [磁盘后台处理程序](disk-spooler-component.md)。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 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 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`mqtt5`  
`receiveMaximum`  
（可选）代理可以发送的未确认 QoS1 数据包的最大数量。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`100`  
`sessionExpirySeconds`  
（可选）您可以从 IoT Core 请求持续会话的时间（以秒为单位）。默认值为支持的最长时间 AWS IoT Core。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`604800 (7 days)`  
`minimumReconnectDelaySeconds`  
（可选）重新连接行为的选项。MQTT 重新连接的最短时间（以秒为单位）。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`1`  
`maximumReconnectDelaySeconds`  
（可选）重新连接行为的选项。MQTT 重新连接的最长时间（以秒为单位）。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`120`  
`minimumConnectedTimeBeforeRetryResetSeconds`  
（可选）重新连接行为的选项。在重试延迟重置到最小值之前，连接必须处于活动状态的时间（以秒为单位）。  
此功能适用于 [Greengrass Nucleus 组件](#greengrass-nucleus-component)的 v2.10.0 及更高版本。  
默认值：`30`

  `jvmOptions`  
（可选）用于运行 AWS IoT Greengrass 核心软件的 JVM 选项。有关运行 C AWS IoT Greengrass ore 软件时推荐的 JVM 选项的信息，请参阅[使用 JVM 选项控制内存分配](configure-greengrass-core-v2.md#jvm-tuning)。  
<a name="nucleus-component-parameter-restart-para"></a>当您部署对此配置参数的更改时， AWS IoT Greengrass Core 软件会重新启动以使更改生效。

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>您的 AWS IoT 数据端点 AWS 账户。  
<a name="nucleus-component-set-iot-endpoints"></a>当你使用该`--provision true`选项运行 AWS IoT Greengrass Core 软件时，该软件会从 AWS IoT 中获取你的数据和凭据端点，并将其设置在 nucleus 组件中。

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>您的 AWS IoT 凭证终端节点 AWS 账户。  
<a name="nucleus-component-set-iot-endpoints"></a>当你使用该`--provision true`选项运行 AWS IoT Greengrass Core 软件时，该软件会从 AWS IoT 中获取你的数据和凭据端点，并将其设置在 nucleus 组件中。

`greengrassDataPlaneEndpoint`  
此组件的 v2.7.0 及更高版本中提供了此功能。  
有关更多信息，请参阅 [使用由私有 CA 签名的设备证书](configure-greengrass-core-v2.md#configure-nucleus-private-ca)。

`greengrassDataPlanePort`  
此组件的 v2.0.4 及更高版本中提供了此功能。  
（可选）用于数据面板连接的端口。有关更多信息，请参阅 [通过端口 443 或网络代理进行连接](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
您必须指定设备可以进行出站连接的端口。如果您指定被屏蔽的端口，则设备将无法连接 AWS IoT Greengrass 以接收部署。
从以下选项中进行选择：  
+ `443`
+ `8443`
默认值：`8443`

`awsRegion`  
 AWS 区域 要使用的。

`runWithDefault`  
用于运行组件的系统用户。  
<a name="nucleus-component-parameter-restart-para"></a>当您部署对此配置参数的更改时， AWS IoT Greengrass Core 软件会重新启动以使更改生效。
该对象包含以下信息：    
`posixUser`  
核心设备用于运行通用组件和 Lambda 组件的系统用户名称或 ID，以及系统组（可选）。使用以下格式指定由半角冒号（`:`）分隔的用户和组：`user:group`。组是可选的。如果您未指定群组，则 AWS IoT Greengrass Core 软件将使用该用户的主群组。举例来说，可以指定 `ggc_user` 或 `ggc_user:ggc_group`。有关更多信息，请参阅 [配置运行组件的用户](configure-greengrass-core-v2.md#configure-component-user)。  
当你使用`--component-default-user ggc_user:ggc_group`选项运行 AWS IoT Greengrass Core 软件安装程序时，软件会在 nucleus 组件中设置此参数。  
`windowsUser`  
此组件的 v2.5.0 及更高版本中提供了此功能。  
用于在 Windows 核心设备上运行此组件的 Windows 用户名称。用户必须存在于每台 Windows 核心设备上，其用户名和密码必须存储在 LocalSystem 账户的凭据管理器实例中。有关更多信息，请参阅 [配置运行组件的用户](configure-greengrass-core-v2.md#configure-component-user)。  
当你使用`--component-default-user ggc_user`选项运行 AWS IoT Greengrass Core 软件安装程序时，软件会在 nucleus 组件中设置此参数。  
`systemResourceLimits`  
此组件的 v2.4.0 及更高版本中提供了此功能。 AWS IoT Greengrass 目前不支持在 Windows 核心设备上使用此功能。  
默认情况下适用于通用和非容器化 Lambda 组件进程的系统资源限制。您可在创建部署时覆盖单个组件的系统资源限制。有关更多信息，请参阅 [配置组件的系统资源限制](configure-greengrass-core-v2.md#configure-component-system-resource-limits)。  
该对象包含以下信息：    
`cpus`  
 <a name="system-resource-limits-cpu-definition-each"></a>每个组件进程可在核心设备上使用的最大 CPU 时间。核心设备的总 CPU 时间等于 CPU 核心的设备数量。例如，在一台有 4 个 CPU 核心的核心设备上，您可以将此值设置为 `2`，以便将每个组件进程限制为使用每个 CPU 核心的 50%。在一台有 1 个 CPU 核心的设备上，您可以将此值设置为 `0.25`，以便将组件进程限制为使用 CPU 的 25%。如果将此值设置为大于 CPU 内核数的数字，则 AWS IoT Greengrass Core 软件不会限制组件的 CPU 使用率。  
`memory`  
 <a name="system-resource-limits-memory-definition-each"></a>每个组件进程可在核心设备上使用的最大 RAM 数量（以千字节表示）。

 `s3EndpointType`   
（可选）S3 端点类型。此参数仅对美国东部（弗吉尼亚州北部）（`us-east-1`）地区生效。从任何其他地区设置此参数将被忽略。从以下选项中进行选择：  
+ `REGIONAL` – S3 客户端和预签名 URL 使用区域端点。
+ `GLOBAL` – S3 客户端和预签名 URL 使用传统端点。
+ `DUALSTACK`— S3 预签名的 URL 使用双堆栈端点。
默认值：`GLOBAL`

 `fipsMode`   
（可选）让 Greengrass 使用 FIPS 端点。有关如何启用 FIPS 端点的更多信息，请参阅 [FIPS](FIPS.html) 端点。  
从以下选项中进行选择：  
+ `true` 设置为 true 时，端点将使用 FIPS 端点。
+ `false` 设置为 false 时，端点不使用 FIPS 端点。
默认值：`false`

`logging`  
（可选）核心设备的日志记录配置。有关如何配置和使用 Greengrass 日志的更多信息，请参阅 [监控 AWS IoT Greengrass 日志](monitor-logs.md)。  
该对象包含以下信息：    
  `level`   
（可选）要输出的日志消息的最低级别。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
  `format`   
（可选）日志的数据格式。从以下选项中进行选择：  
+ `TEXT` – 如果您想以文本形式查看日志，请选择此选项。
+ `JSON` – 如果您想使用 [Greengrass CLI 日志命令](gg-cli-logs.md)查看日志或以编程方式与日志交互，请选择此选项。
默认值：`TEXT`  
`outputType`  
（可选）日志的输出类型。从以下选项中进行选择：  
+ `FILE`— C AWS IoT Greengrass ore 软件将日志输出到您在中指定的目录中的文件`outputDirectory`。
+ `CONSOLE`— C AWS IoT Greengrass ore 软件将日志打印到`stdout`。选择此选项可在核心设备打印日志时查看日志。
默认值：`FILE`  
  `fileSizeKB`   
（可选）每个日志文件的最大大小（以千字节表示）。日志文件超过此最大文件大小后， AWS IoT Greengrass Core 软件会创建一个新的日志文件。  
<a name="nucleus-component-logging-parameter-file-only"></a>仅当为 `outputType` 指定 `FILE` 时，此参数才适用。  
默认值：`1024`  
  `totalLogsSizeKB`   
（可选）每个组件（包括 Greengrass Nucleus）的最大日志文件总大小（以千字节表示）。Greengrass Nucleus的日志文件还包括来自[插件组件](develop-greengrass-components.md#component-types)的日志。当组件的日志文件总大小超过此最大大小后， AWS IoT Greengrass Core 软件会删除该组件最旧的日志文件。  
此参数等同于[日志管理器组件的](log-manager-component.md)[磁盘空间限制](log-manager-component.md#log-manager-component-configuration)参数（`diskSpaceLimit`），您可为 Greengrass Nucleus（系统）和每个组件指定该参数。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为 Greengrass 核和每个组件的最大总日志大小。  
<a name="nucleus-component-logging-parameter-file-only"></a>仅当为 `outputType` 指定 `FILE` 时，此参数才适用。  
默认值：`10240`  
  `outputDirectory`   
（可选）日志文件的输出目录。  
<a name="nucleus-component-logging-parameter-file-only"></a>仅当为 `outputType` 指定 `FILE` 时，此参数才适用。  
默认值：`/greengrass/v2/logs`，其中 `/greengrass/v2` 是 AWS IoT Greengrass 根文件夹。

  `fleetstatus`   
此组件的 v2.1.0 及更高版本中提供了此参数。  
（可选）核心设备的实例集状态配置。  
该对象包含以下信息：    
`periodicStatusPublishIntervalSeconds`  
（可选）核心设备向 AWS Cloud发布设备状态的间隔时间（以秒为单位）。  
最小值：`86400`（24 小时）  
默认值：`86400`（24 小时）

  `telemetry`   
（可选）核心设备的系统运行状况遥测配置。有关遥测指标以及如何处理遥测数据的更多信息，请参阅 [从 AWS IoT Greengrass 核心设备收集系统运行状况遥测数据](telemetry.md)。  
该对象包含以下信息：    
`enabled`  
（可选）您可以启用或禁用遥测。  
默认值：`true`  
`periodicAggregateMetricsIntervalSeconds`  
（可选）核心设备汇总指标的时间间隔（以秒为单位）。  
如果将此值设置为低于支持的最小值，则内核将改用默认值。  
最低：`3600`  
默认值：`3600`  
`periodicPublishMetricsIntervalSeconds`  
（可选）核心设备向 AWS Cloud发布遥测指标的间隔时间（以秒为单位）。  
如果将此值设置为低于支持的最小值，则内核将改用默认值。  
最低：`86400`  
默认值：`86400`

`deploymentPollingFrequencySeconds`  
（可选）轮询部署通知的时间段（以秒为单位）。  
默认值：`15`

`componentStoreMaxSizeBytes`  
（可选）组件存储在磁盘上的最大大小，其中包括组件配方和构件。  
默认值：`10000000000`（10 GB）

  `platformOverride`   
（可选）标识核心设备平台的属性字典。使用它来定义自定义平台属性，组件配方可以使用这些属性来识别组件的正确生命周期和构件。例如，您可以定义硬件功能属性，以便仅部署组件运行所需的最小构件集。有关更多信息，请参阅组件配方中的[清单平台参数](component-recipe-reference.md#component-platform-definition)。  
您也可以使用此参数来覆盖核心设备的 `os` 和 `architecture` 平台属性。

  `httpClient`   
此组件的 v2.5.0 及更高版本中提供了此参数。  
（可选）核心设备的 HTTP 客户端配置。这些配置选项适用于该组件发出的所有 HTTP 请求。如果核心设备在速度较慢的网络上运行，则可以增加这些超时持续时间以防止 HTTP 请求超时。  
该对象包含以下信息：    
`connectionTimeoutMs`  
（可选）连接请求超时之前等待连接打开的时间（以毫秒为单位）。  
默认值：`2000`（2 秒）  
`socketTimeoutMs`  
（可选）连接超时之前等待通过打开的连接传输数据的时间（以毫秒为单位）。  
默认值：`30000`（30 秒）

  `deploymentConfigurationTimeSource`   
此参数在该组件的 2.15.0 及更高版本中可用。  
（可选）处理部署时使用的时间戳。默认值为 `deploymentCreationTime`。  
此对象包含以下值：    
`deploymentCreationTime`  
默认值为 `deploymentConfigurationTimeSource`。设备使用部署创建时间戳来解决处理期间的配置密钥冲突问题。选择此行为后，由 Nucleus 保持的本地设备配置可能具有比传入部署更长的时间戳，因此会拒绝现在视为过时的传入配置更改。  
`deploymentProcessingTime`  
设备使用其本地时间戳来解决部署处理期间的配置密钥冲突问题。处理完毕后，设备会根据处理的时间戳而不是部署创建时间戳更新配置。该行为假设设备时钟已正确校准。  
当希望新设备在首次连接时使用此行为时，请在初始设备映像或安装中配置此 Nucleus 设置，而不是通过部署进行配置。使用 Nucleus Classic 安装程序的 [https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html) 选项进行此种配置。  
这种初始配置是必不可少的，因为设备按任意顺序处理多个部署。如果初始配置不当，设备可能会在收到将 Nucleus 配置设置为 `deploymentProcessingTime` 的部署之前，使用默认 `deploymentCreationTime` 行为处理部署。

**Example 示例：配置合并更新**  

```
{
  "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"
  }
}
```

## 本地日志文件
<a name="greengrass-nucleus-component-log-file"></a>

此组件使用以下日志文件。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**查看此组件的日志**
+ 在核心设备上运行以下命令可实时查看此组件的日志文件。将`/greengrass/v2`或*C:\$1greengrass\$1v2*替换为 AWS IoT Greengrass 根文件夹的路径。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 更改日志
<a name="greengrass-nucleus-component-changelog"></a>

下表介绍每个组件版本的更改。


|  **版本**  |  **更改**  | 
| --- | --- | 
|  2.17.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.3  |  错误修复和改进 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.2  |  错误修复和改进 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.1  |  错误修复和改进 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  emrfs  |  此版本不再可用。此版本的改进将在此组件的更高版本中提供。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.13.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.3  |   此版本不再可用。此版本的改进将在此组件的更高版本中提供。  错误修复和改进 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.0  |  <a name="changelog-nucleus-2.12.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.3  |  <a name="changelog-nucleus-2.11.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.2  |  <a name="changelog-nucleus-2.11.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.1  |  <a name="changelog-nucleus-2.11.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.0  |  <a name="changelog-nucleus-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.3  |  <a name="changelog-nucleus-2.10.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.2  |  <a name="changelog-nucleus-2.10.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.1  |  <a name="changelog-nucleus-2.10.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.0  |  <a name="changelog-nucleus-2.10.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.6  |  <a name="changelog-nucleus-2.9.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.5  |  <a name="changelog-nucleus-2.9.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.4  |  <a name="changelog-nucleus-2.9.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.3  |  <a name="changelog-nucleus-2.9.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.2  |  <a name="changelog-nucleus-2.9.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.1  |  <a name="changelog-nucleus-2.9.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.0  |  <a name="changelog-nucleus-2.9.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.1  |  <a name="changelog-nucleus-2.8.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.0  |  <a name="changelog-nucleus-2.8.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.7.0  |  <a name="changelog-nucleus-2.7.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.6.0  |  <a name="changelog-nucleus-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.6  |  <a name="changelog-nucleus-2.5.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.5  |  <a name="changelog-nucleus-2.5.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.4  |  <a name="changelog-nucleus-2.5.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.3  |  <a name="changelog-nucleus-2.5.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.2  |  <a name="changelog-nucleus-2.5.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.1  |   此版本不再可用。此版本的改进将在此组件的更高版本中提供。  <a name="changelog-nucleus-2.5.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.0  |  <a name="changelog-nucleus-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.4.0  |  <a name="changelog-nucleus-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.3.0  |  <a name="changelog-nucleus-2.3.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.2.0  |  <a name="changelog-nucleus-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.1.0  |  <a name="changelog-nucleus-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.5  |  <a name="changelog-nucleus-2.0.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.4  |  <a name="changelog-nucleus-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.3  |  初始版本。  | 