安装Amazon IoT Greengrass核心软件Amazon IoT实例集预调配 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装Amazon IoT Greengrass核心软件Amazon IoT实例集预调配

此功能适用于 v2.4.0 及更高版本的Greengrass 核组件.

与Amazon IoT队列配置,你可以配置Amazon IoT生成并安全地将 X.509 设备证书和私钥传送到您的设备Amazon IoT这是第一次。Amazon IoT提供由 Amazon Root 证书颁发机构 (CA) 签发的客户端证书。您还可以配置Amazon IoT为使用队列配置配置的 Greengrass 核心设备指定事物组、事物类型和权限。您可以定义一个预调配模板定义如何Amazon IoT配置每台设备。配置模板指定了配置时要为设备创建的事物、策略和证书资源。有关更多信息,请参阅预调配模板Amazon IoT Core开发人员指南.

Amazon IoT Greengrass提供了Amazon IoT舰队配置插件,你可以用它来安装Amazon IoT Greengrass核心软件使用Amazon已由 创建的 资源Amazon IoT实例集预调配。队列配置插件使用按索赔配置. 设备使用配置声明证书和私钥来获取可用于常规操作的唯一 X.509 设备证书和私钥。您可以在制造过程中将索赔证书和私钥嵌入到每台设备中,这样您的客户就可以在每台设备上线后激活设备。您可以对多个设备使用相同的声明证书和私钥。有关更多信息,请参阅通过申请进行预调配Amazon IoT Core开发人员指南.

注意

队列配置插件目前不支持在硬件安全模块 (HSM) 中存储私钥和证书文件。要使用 HSM,安装Amazon IoT Greengrass具有手动配置功能的核心软件.

安装Amazon IoT Greengrass核心软件Amazon IoT实例集预调配,您必须在您的Amazon Web Services 账户那个Amazon IoT用于配置 Greengrass 核心设备。这些资源包括配置模板、索赔证书和代币交换 IAM 角色. 创建这些资源后,您可以重复使用它们在队列中配置多个核心设备。有关更多信息,请参阅 设置Amazon IoT为 Greengrass 核心设备配置队列

重要

在您下载之前Amazon IoT Greengrass核心软件,检查您的核心设备是否符合要求要安装并运行Amazon IoT Greengrass核心软件 v2.0。

先决条件

安装Amazon IoT Greengrass核心软件Amazon IoT舰队配置,你必须先进行设置Amazon IoT为 Greengrass 核心设备配置队列. 完成这些步骤一次后,您可以使用队列配置来安装Amazon IoT Greengrass任意数量设备上的核心软件。

检索Amazon IoT终端

获取Amazon IoT您的终端节点Amazon Web Services 账户,并将其保存以供以后使用。您的设备使用这些端点连接到Amazon IoT. 执行以下操作:

  1. 获取Amazon IoT您的数据终端节点Amazon Web Services 账户.

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    如果请求成功,则响应类似于以下示例。

    { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
  2. 获取Amazon IoT您的证书终端节点Amazon Web Services 账户.

    aws iot describe-endpoint --endpoint-type iot:CredentialProvider

    如果请求成功,则响应类似于以下示例。

    { "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" }

将证书下载到设备

设备使用声明证书和私钥对其配置请求进行身份验证Amazon资源并获取 X.509 设备证书。您可以在制造过程中将声明证书和私钥嵌入到设备中,或者在安装期间将证书和密钥复制到设备上。在本节中,您将索赔证书和私钥复制到设备。您还可以将 Amazon Root 证书颁发机构 (CA) 证书下载到设备上。

重要

预调配申请私有密钥应始终得到保护,包括在Greengrass核心设备上时。建议您使用亚马逊 CloudWatch 监控滥用迹象的指标和日志,例如未经授权使用申请证书预调配设备。如果您检测到滥用,请禁用预调配申请证书,以使其不能用于设备预调配。有关更多信息,请参阅监控Amazon IoTAmazon IoT Core开发人员指南.

为了帮助您更好地管理自己注册到您的设备的数量以及哪些设备Amazon Web Services 账户,您可以在创建队列配置模板时指定预配置挂钩。预先预置挂钩是Amazon Lambda函数,用于验证设备在注册期间提供的模板参数。例如,您可以创建预置挂钩,根据数据库检查设备 ID 以验证设备是否具有预置权限。有关更多信息,请参阅预先预调配挂钩Amazon IoT Core开发人员指南.

将索赔证书下载到设备

  1. 将索赔证书和私钥复制到设备。如果在开发计算机和设备上启用了 SSH 和 SCP,则可以使用scp命令在开发计算机上传输声明证书和私钥。以下示例命令将这些文件传输到一个名为的文件夹claim-certs在你的开发计算机上到设备。Replace(替换)device-ip-address使用您设备的 IP 地址。

    scp -r claim-certs/ device-ip-address:~
  2. 在设备上创建 Greengrass 根文件夹。稍后你将安装Amazon IoT Greengrass此文件夹的核心软件。

    Linux or Unix
    • Replace(替换)/greengrass/v2以及要使用的文件夹。

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • Replace(替换)C:\greengrass\v2以及要使用的文件夹。

    mkdir C:\greengrass\v2
    PowerShell
    • Replace(替换)C:\greengrass\v2以及要使用的文件夹。

    mkdir C:\greengrass\v2
  3. (仅限 Linux)设置 Greengrass 根文件夹父文件夹的权限。

    • Replace(替换)/gregrass使用根文件夹的父文件夹。

    sudo chmod 755 /greengrass
  4. 将索赔证书移至 Greengrass 根文件夹。

    • Replace(替换)/greengrass/v2要么C:\greengrass\v2使用 Greengrass 根文件夹。

    Linux or Unix
    sudo mv ~/claim-certs /greengrass/v2
    Windows Command Prompt (CMD)
    move %USERPROFILE%\claim-certs C:\greengrass\v2
    PowerShell
    mv -Path ~\claim-certs -Destination C:\greengrass\v2
  5. 下载亚马逊根证书颁发机构 (CA) 证书。Amazon IoT默认情况下,证书与亚马逊的根 CA 证书相关联。

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\AmazonRootCA1.pem

设置设备环境

按照本部分中的步骤创建 Linux 或 Windows 设备以用作您的Amazon IoT Greengrass核心设备。

为设置 Linux 设备Amazon IoT Greengrass V2

  1. 安装 Java 运行时,Amazon IoT Greengrass核心软件需要运行。建议您使用Amazon Corretto 11要么OpenJdk 11. 以下命令向您展示如何在您的设备上安装 OpenJDK。

    • 对于基于 Debian 或基于 Ubuntua 的发行版:

      sudo apt install default-jdk
    • 对于基于 Red Hat 的发行版:

      sudo yum install java-11-openjdk-devel
    • 对于 Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11

    安装完成后,运行以下命令以验证 Java 是否在您的 Linux 设备上运行。

    java -version

    该命令会打印设备上运行的 Java 版本。例如,在基于 Debian 的发行版上,输出可能与以下示例类似。

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (可选)创建在设备上运行组件的默认系统用户和组。您也可以选择让Amazon IoT Greengrass核心软件安装程序在安装期间使用--component-default-user安装程序参数。有关更多信息,请参阅 安装程序参数

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. 验证运行的用户是否Amazon IoT Greengrass核心软件(通常root),有运行权限sudo与任何用户和任何群组共享。

    1. 运行以下命令以打开/etc/sudoersfile。

      sudo visudo
    2. 确认该用户的权限类似于以下示例。

      root ALL=(ALL:ALL) ALL
  4. (可选)至运行容器化的 Lambda 函数,则必须启用c组v1,并且必须启用并装载记忆设备cgroups。如果您不打算运行容器化 Lambda 函数,则可跳过本步骤。

    要启用这些 cgroups 选项,请使用以下 Linux 内核参数启动设备。

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    有关查看和设置设备内核参数的信息,请参阅您的操作系统和启动加载程序的文档。按照说明永久设置内核参数。

    提示: 在 Raspberry Pi 上设置内核参数

    如果您的设备是 Raspberry Pi,则可以完成以下步骤来查看和更新其 Linux 内核参数:

    1. 打开 /boot/cmdline.txt 文件。此文件指定了树莓派启动时要应用的 Linux 内核参数。

      例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 打开文件。

      sudo nano /boot/cmdline.txt
    2. 验证/boot/cmdline.txt文件包含以下内核参数。这些区域有:systemd.unified_cgroup_hierarchy=0参数指定使用 cgroups v1 而不是 cgroups v2。

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

      如果/boot/cmdline.txt文件不包含这些参数,或者它包含具有不同值的这些参数,请更新文件以包含这些参数和值。

    3. 如果你更新了/boot/cmdline.txt文件,重启 Raspberry Pi 以应用更改。

      sudo reboot
  5. 按照中的要求列表在设备上安装所有其他必需的依赖项设备要求.

注意

此功能在 v2.5.0 及更高版本中提供Greengrass 核组件.

为设置 Windows 设备Amazon IoT Greengrass V2

  1. 安装 Java 运行时,Amazon IoT Greengrass核心软件需要运行。建议您使用Amazon Corretto 11要么OpenJdk 11.

  2. 检查 Java 是否在上可用路径系统变量,如果不是,则将其添加。这些区域有: LocalSystem 账户运行Amazon IoT Greengrass核心软件,因此必须将 Java 添加到 PATH 系统变量中,而不是为用户添加 PATH 用户变量。执行以下操作:

    1. 按下 Windows 键打开开始菜单。

    2. 类型environment variables从 “开始” 菜单中搜索系统选项。

    3. 在开始菜单搜索结果中,选择编辑系统环境变量打开系统属性时段。

    4. 选择环境变量...打开环境变量时段。

    5. 下面系统变量,SELECPath (路径),然后选择编辑. 在编辑环境变量窗口,你可以在单独的行上查看每条路径。

    6. 检查 Java 安装路径是否为bin文件夹已存在。该路径可能类似于以下示例。

      C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
    7. 如果 Java 安装是bin中缺少文件夹Path (路径),选择new将其添加,然后选择好吧.

  3. 打开 Windows 命令提示符 (cmd.exe)以管理员身份工作。

  4. 在中创建默认用户 LocalSystem Windows 设备上的帐户。Replace(替换)密码使用安全密码。

    net user /add ggc_user password
    提示

    根据您的 Windows 配置,用户的密码可能会设置为在future 某个日期到期。为确保您的 Greengrass 应用程序继续运行,请跟踪密码何时到期,并在密码到期前进行更新。您也可以将用户的密码设置为永不过期。

    • 要检查用户及其密码何时到期,请运行以下命令。

      net user ggc_user | findstr /C:expires
    • 要将用户的密码设置为永不过期,请运行以下命令。

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
  5. 下载并安装PsExec实用程序来自设备上的微软。

  6. 使用 PsExec 实用程序将默认用户的用户名和密码存储在 Credential Manager 实例中 LocalSystem 账户。Replace(替换)密码使用您之前设置的用户密码。

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    如果PsExec License Agreement打开,选择Accept同意许可证并运行命令。

    注意

    在 Windows 设备上, LocalSystem 账户运行 Greengrass 核心,你必须使用 PsExec 实用程序,用于将默认用户信息存储在 LocalSystem 账户。使用 Credential Manager 应用程序将此信息存储在当前登录用户的 Windows 帐户中,而不是 LocalSystem 账户。

下载Amazon IoT Greengrass核心软件

您可以下载最新版本的Amazon IoT Greengrass来自以下位置的核心软件:

注意

您可以下载特定版本的Amazon IoT Greengrass来自以下位置的核心软件。Replace(替换)版本有待下载的版本。

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip

下载Amazon IoT Greengrass核心软件

  1. 在您的核心设备上,下载Amazon IoT Greengrass将核心软件转换为名为的文件greengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    下载此软件,即表示您同意Greengrass 核心软件许可协议.

  2. 解压缩容量预调配Amazon IoT Greengrass将核心软件保存到设备上的某个文件夹。Replace(替换)GreengrassInstaller使用要使用的文件夹。

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\GreengrassInstaller rm greengrass-nucleus-latest.zip
  3. (可选)运行以下命令以查看Amazon IoT Greengrass核心软件。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
重要

如果你安装了早于 v2.4.0 的 Greengrass nucleus 版本,请不要在安装后删除这个文件夹Amazon IoT Greengrass核心软件。这些区域有:Amazon IoT Greengrass核心软件使用此文件夹中的文件运行。

如果您下载了最新版本的软件,则安装了 v2.4.0 或更高版本,并且可以在安装后删除此文件夹Amazon IoT Greengrass核心软件。

下载Amazon IoT实例集预调配

您可以下载最新版本的Amazon IoT来自以下位置的队列配置插件:

注意

您可以下载特定版本的Amazon IoT来自以下位置的队列配置插件。Replace(替换)版本有待下载的版本。有关队列预配置插件的每个版本的更多信息,请参阅Amazon IoT队列配置插件更新日志.

https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-version.jar

队列预配置插件是开源的。要查看其源代码,请参阅Amazon IoT实例集预调配上 GitHub.

下载Amazon IoT实例集预调配

  • 在您的设备上下载Amazon IoT队列配置插件到一个名为的文件aws.greengrass.FleetProvisioningByClaim.jar. Replace(替换)GreengrassInstaller使用要使用的文件夹。

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar -OutFile GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar

    下载此软件,即表示您同意Greengrass 核心软件许可协议.

安装 Amazon IoT Greengrass Core 软件

使用指定以下操作的参数运行安装程序:

  • 从部分配置文件中安装,该文件指定使用队列配置插件进行配置Amazon资源。这些区域有:Amazon IoT Greengrass核心软件使用配置文件来指定设备上每个 Greengrass 组件的配置。安装程序会根据您提供的部分配置文件创建一个完整的配置文件,Amazon队列配置插件创建的资源。

  • 指定以使用ggc_user系统用户在核心设备上运行软件组件。在 Linux 设备上,此命令还指定使用ggc_group系统组,安装程序会为您创建系统用户和组。

  • 设置Amazon IoT Greengrass核心软件即系统服务,在启动时运行。在 Linux 设备上,这需要Systemd初始系统。

    重要

    在 Windows 核心设备上,您必须设置Amazon IoT Greengrass核心软件即系统服务。

有关可以指定的参数的更多信息,请参阅安装程序参数.

注意

如果你正在跑步Amazon IoT Greengrass在内存有限的设备上,你可以控制内存量Amazon IoT Greengrass核心软件用途。要控制内存分配,可以在中设置 JVM 堆大小选项jvmOptions你的核心组件中的配置参数。有关更多信息,请参阅 使用 JVM 选项控制内存分配

安装 Amazon IoT Greengrass Core 软件

  1. 检查版本Amazon IoT Greengrass核心软件。

    • Replace(替换)GreengrassInstaller以及包含该软件的文件夹的路径。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. 使用文本编辑器创建名为的配置文件config.yaml提供给安装程序。

    例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

    nano GreengrassInstaller/config.yaml

    将以下 YAML 内容复制到该文件中。这个部分配置文件指定了队列配置插件的参数。有关可以指定选项的更多信息,请参阅配置Amazon IoT队列预置插件.

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.8.0" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "/greengrass/v2" awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt" claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.8.0" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "C:\\greengrass\\v2" awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt" claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key" rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"

    然后,执行以下操作:

    • Replace(替换)2.8.0使用版本的Amazon IoT Greengrass核心软件。

    • 替换每个实例/greengrass/v2要么C:\greengrass\v2使用 Greengrass 根文件夹。

      注意

      在 Windows 设备上,必须将路径分隔符指定为双反斜杠 (\\),例如C:\\greengrass\\v2.

    • Replace(替换)us-west-2用Amazon您创建配置模板和其他资源的区域。

    • 替换iotDataEndpoint用你的Amazon IoT数据端点。

    • 替换iotCredentialEndpoint用你的Amazon IoT证书终端节点。

    • Replace(替换)GreengrassCoreTokenExchangeRoleAlias使用代币交换角色别名的名称。

    • Replace(替换)GreengrassFleetProvisioningTemplate使用队列预配置模板的名称。

    • 替换claimCertificatePath包含设备上声明证书的路径。

    • 替换claimCertificatePrivateKeyPath以及设备上声明证书私钥的路径。

    • 替换模板参数 (templateParameters) 以及用于配置设备的值。这个例子指的是示例模板它定义了ThingNameThingGroupName参数。

    注意

    在此配置文件中,您可以自定义其他配置选项,例如要使用的端口和网络代理,如以下示例所示。有关更多信息,请参阅Greengrass 核配置.

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.8.0" configuration: mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "http://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "/greengrass/v2" awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt" claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup" mqttPort: 443 proxyUrl: "http://my-proxy-server:1100" proxyUserName: "Mary_Major" proxyPassword: "pass@word1357"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.8.0" configuration: mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "http://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "C:\\greengrass\\v2" awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt" claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key" rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup" mqttPort: 443 proxyUrl: "http://my-proxy-server:1100" proxyUserName: "Mary_Major" proxyPassword: "pass@word1357"

    您必须使用 1.1.0 或更高版本的队列预调配插件才能使用。您还必须指定rootCaPathsystem,如以下示例中所示。

    Linux or Unix
    --- system: rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" services: ...
    Windows
    --- system: rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" services: ...
  3. 运行安装程序。指定--trusted-plugin提供队列配置插件,并指定--init-config以提供配置文件。

    • Replace(替换)/greengrass/v2使用 Greengrass 根文件夹。

    • 替换每个实例GreengrassInstaller使用解压缩安装程序的文件夹。

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    重要

    在 Windows 核心设备上,您必须指定--setup-system-service true设置Amazon IoT Greengrass核心软件即系统服务。

    如果您指定--setup-system-service true,安装程序会打印Successfully set up Nucleus as a system service如果它将软件设置并作为系统服务运行。否则,安装程序在成功安装软件后不会输出任何消息。

    注意

    您不能使用deploy-dev-tools参数用于在没有的情况下运行安装程序时部署本地开发工具--provision trueargumenc 有关直接在您的设备上部署 Greengrass CLI 的信息,请参阅Greengrass Command Line Interface.

  4. 通过查看根文件夹中的文件来验证安装。

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    如果安装成功,则根文件夹包含多个文件夹,例如config,packages,以及logs.

如果你安装了Amazon IoT Greengrass核心软件即系统服务,安装程序会为您运行该软件。否则,您必须手动运行该软件。有关更多信息,请参阅 运行Amazon IoT GreengrassCore 软件

有关如何配置和使用该软件的更多信息,以及Amazon IoT Greengrass,请参阅: