安装AWS IoT Greengrass核心软件 (CLI) - AWS IoT Greengrass

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

安装AWS IoT Greengrass核心软件 (CLI)

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

    Linux or Unix
    cd ~
    Windows Command Prompt (CMD)
    cd %USERPROFILE%
    PowerShell
    cd ~
  2. 在您的核心设备上,将 AWS 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. 将 AWS 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. 运行以下命令以启动 AWS IoT Greengrass Core 软件安装程序。此命令执行以下操作:

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

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

      重要

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

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

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

    按如下方式替换命令中的参数值。

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

    2. GreengrassInstaller。您解压缩AWS IoT Greengrass核心软件安装程序的文件夹的路径。

    3. 区域。AWS 区域在其中查找或创建资源。

    4. MyGreengrassCore。你的 Green AWS IoT grass 核心设备的名称。如果该东西不存在,则安装程序会创建它。安装程序下载证书以进行身份AWS IoT验证。有关更多信息,请参阅 AWS IoT Greengrass 的设备身份验证和授权

      注意

      事物名称不能包含冒号 (:) 字符。

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

      注意

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

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

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

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

    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
    注意

    如果您在内存有限的设备AWS IoT Greengrass上运行,则可以控制AWS IoT Greengrass酷睿软件使用的内存量。要控制内存分配,您可以在 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 设置为系统服务的成功消息。