安装 Amazon IoT Greengrass Core 软件(CLI) - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

安装 Amazon IoT Greengrass Core 软件(CLI)

注意

这些步骤不适用于 Nucleus Lite。

安装和配置 Amazon IoT Greengrass Core 软件
  1. 在 Greengrass 核心设备上,运行以下命令切换到主目录。

    Linux or Unix
    cd ~
    Windows Command Prompt (CMD)
    cd %USERPROFILE%
    PowerShell
    cd ~
  2. 在您的核心设备上,将 Amazon IoT Greengrass Core 软件下载到名为 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 Core 软件许可协议

  3. 将 Amazon IoT Greengrass Core 软件解压缩到设备上的某个文件夹中。将 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
  4. 运行以下命令以启动 Amazon IoT Greengrass Core 软件安装程序。此命令执行以下操作:

    • 创建核心设备运行所需的 Amazon 资源。

    • 将 Amazon IoT Greengrass Core 软件设置为启动时运行的系统服务。在 Linux 设备上,这需要 Systemd 初始化系统。

      重要

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

    • 部署 Amazon IoT GreengrassCLI 组件,这是一种命令行工具,支持您在核心设备上开发自定义 Greengrass 组件。

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

    如下所示替换命令中的参数值。

    1. /greengrass/v2C:\greengrass\v2:用于安装 Amazon IoT Greengrass Core 软件的根文件夹的路径。

    2. GreengrassInstaller。您解压缩 Amazon IoT Greengrass Core 软件安装程序所用目标文件夹的路径。

    3. region。用于查找或创建资源的 Amazon Web Services 区域。

    4. MyGreengrassCore。您的 Greengrass 核心设备的 Amazon IoT 事物的名称。如果该事物不存在,安装程序会进行创建。安装程序会下载证书以作为 Amazon IoT 事物进行身份验证。有关更多信息,请参阅 设备身份验证和授权 Amazon IoT Greengrass

      注意

      事物名称不得包含英文冒号 (:) 字符。

    5. MyGreengrassCoreGroup。您的 Greengrass 核心设备的 Amazon IoT 事物组的名称。如果该事物组不存在,安装程序会进行创建并向其中添加事物。如果事物组存在且有活动的部署,则核心设备将下载并运行部署指定的软件。

      注意

      事物组名称不得包含英文冒号 (:) 字符。

    6. GreengrassV2IoTThingPolicy。允许 Greengrass 核心设备与 Amazon IoT 和 Amazon IoT Greengrass 通信的 Amazon IoT 策略的名称。如果该 Amazon IoT 策略不存在,则安装程序会使用此名称创建宽容的 Amazon IoT 策略。您可以根据自己的使用案例限制此策略的权限。有关更多信息,请参阅 Amazon IoT Greengrass V2 核心设备的最低 Amazon IoT 政策

    7. GreengrassV2TokenExchangeRole。允许 Greengrass 核心设备获取临时 Amazon 凭证的 IAM 角色的名称。如果该角色不存在,则安装程序会创建该角色并附加名为 GreengrassV2TokenExchangeRoleAccess 的策略。有关更多信息,请参阅 授权核心设备与 Amazon 服务交互

    8. GreengrassCoreTokenExchangeRoleAlias。允许 Greengrass 核心设备稍后获取临时凭证的 IAM 角色的别名。如果该角色别名不存在,则安装程序会自行创建,并将其指向您指定的 IAM 角色。有关更多信息,请参阅 授权核心设备与 Amazon 服务交互

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-region region \ --thing-name MyGreengrassCore \ --thing-group-name MyGreengrassCoreGroup \ --thing-policy-name GreengrassV2IoTThingPolicy \ --tes-role-name GreengrassV2TokenExchangeRole \ --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \ --component-default-user ggc_user:ggc_group \ --provision true \ --setup-system-service true \ --deploy-dev-tools true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --aws-region region ^ --thing-name MyGreengrassCore ^ --thing-group-name MyGreengrassCoreGroup ^ --thing-policy-name GreengrassV2IoTThingPolicy ^ --tes-role-name GreengrassV2TokenExchangeRole ^ --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias ^ --component-default-user ggc_user ^ --provision true ^ --setup-system-service true ^ --deploy-dev-tools true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --aws-region region ` --thing-name MyGreengrassCore ` --thing-group-name MyGreengrassCoreGroup ` --thing-policy-name GreengrassV2IoTThingPolicy ` --tes-role-name GreengrassV2TokenExchangeRole ` --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias ` --component-default-user ggc_user ` --provision true ` --setup-system-service true ` --deploy-dev-tools true
    注意

    如果您在内存有限的设备上运行 Amazon IoT Greengrass,则可以控制 Amazon IoT Greengrass Core 软件使用的内存量。要控制内存分配,您可以在 Nucleus 组件的 jvmOptions 配置参数中设置 JVM 堆大小选项。有关更多信息,请参阅 使用 JVM 选项控制内存分配

    运行该命令后,您将看到以下信息,表明安装程序已成功完成。

    Successfully configured Nucleus with provisioned resource details! Configured Nucleus to deploy aws.greengrass.Cli component Successfully set up Nucleus as a system service
    注意

    如果您有 Linux 设备但没有 systemd,则安装程序不会将该软件设置为系统服务,您也不会看到将 Nucleus 设置为系统服务的成功消息。