本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 2 步:设置您的环境
按照本节中的步骤设置要用作AWS IoT Greengrass核心设备的 Linux 或 Windows 设备。
这些步骤假设你在树莓派操作系统中使用树莓派。如果您使用其他设备或操作系统,请查阅设备的相关文档。
要设置 Raspberry Pi AWS IoT Greengrass V2
-
在 Raspberry Pi 上启用 SSH 以远程连接到树莓派。有关更多信息,请参阅 Raspberry Pi 文档中的 SSH(安全外壳)
。 -
找到 Raspberry Pi 的 IP 地址,通过 SSH 与之连接。为此,你可以在 Raspberry Pi 上运行以下命令。
hostname -I
-
使用 SSH 连接到你的 Raspberry Pi。
在您的开发计算机上,运行以下命令。将
用户名
替换为要登录的用户名,并pi-ip-address
替换为在上一步中找到的 IP 地址。ssh
username
@pi-ip-address
重要
如果你的开发计算机使用的是早期版本的 Windows,你可能没有这个
ssh
命令,或者你可能有ssh
但无法连接到你的 Raspberry Pi。要连接你的 Raspberry Pi,你可以安装和配置 PuTTY,这是一款免费的开源 SSH 客户端。要连接你的 Raspberr y Pi,请查阅 Putty 文档 。 -
安装 Java 运行时,AWS IoT Greengrass核心软件需要运行该运行时。在 Raspberry Pi 上,使用以下命令安装 Java 11。
sudo apt install default-jdk
安装完成后,运行以下命令以验证 Java 是否在你的 Raspberry Pi 上运行。
java -version
该命令会打印设备上运行的 Java 版本。输出可能与以下示例类似。
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)
提示:在 Raspberry Pi 上设置内核参数
如果您的设备是 Raspberry Pi,则可以完成以下步骤来查看和更新其 Linux 内核参数:
-
打开
/boot/cmdline.txt
文件。此文件指定树莓派启动时要应用的 Linux 内核参数。例如,在基于 Linux 的系统上,你可以运行以下命令来使用 GNU nano 打开文件。
sudo nano /boot/cmdline.txt
-
验证该
/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
文件不包含这些参数,或者包含这些具有不同值的参数,请更新文件以包含这些参数和值。 -
如果您更新了
/boot/cmdline.txt
文件,请重新启动 Raspberry Pi 以应用更改。sudo reboot
设置 Linux 设备用于 AWS IoT Greengrass V2
-
安装 Java 运行时,AWS IoT Greengrass核心软件需要运行该运行时。我们建议您使用 Amazon Cor
retto 或 OpenJDK 长期支持版本。需要版本 8 或更高版本。以下命令向您展示了如何在您的设备上安装 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
-
对于亚马逊 Linux 2023:
sudo dnf install java-11-amazon-corretto -y
安装完成后,运行以下命令以验证 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)
-
-
(可选)创建在设备上运行组件的默认系统用户和组。您也可以选择让AWS IoT Greengrass核心软件安装程序在安装过程中使用安装程序参数创建此用户和组。
--component-default-user
有关更多信息,请参阅 安装程序参数。sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
-
验证运行 AWS IoT Greengrass Core 软件的用户(通常
root
)是否有权sudo
与任何用户和任何组一起运行。-
运行以下命令打开该
/etc/sudoers
文件。sudo visudo
-
验证用户的权限是否如以下示例所示。
root ALL=(ALL:ALL) ALL
-
-
(可选)要运行容器化 Lambda 函数,必须启用 c
groups v1,并且必须启用并挂载内存和设备 cgroups。如果您不打算运行容器化 Lambda 函数,则可以跳过此步骤。 要启用这些 cgroups 选项,请使用以下 Linux 内核参数启动设备。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
有关查看和设置设备内核参数的信息,请参阅操作系统和启动加载程序的文档。按照说明永久设置内核参数。
-
按照中的要求列表所示,在您的设备上安装所有其他必需的依赖项设备要求。
要将 Windows 设备设置为 AWS IoT Greengrass V2
-
安装 Java 运行时,AWS IoT Greengrass核心软件需要运行该运行时。我们建议您使用 Amazon Cor
retto 或 OpenJDK 长期支持版本。需要版本 8 或更高版本。 -
检查 PATH
系统变量上是否有 Java 可用,如果没有,请添加它。该 LocalSystem 帐户运行 AWS IoT Greengrass Core 软件,因此您必须将 Java 添加到 PATH 系统变量中,而不是用户的 PATH 用户变量。执行以下操作: -
按下 Windows 键打开开始菜单。
-
键入
environment variables
以从 “开始” 菜单中搜索系统选项。 -
在开始菜单搜索结果中,选择编辑系统环境变量以打开系统属性窗口。
-
选择环境变量... 打开 “环境变量” 窗口。
-
在 “系统变量” 下,选择 “路径”,然后选择 “编辑”。在 “编辑环境变量” 窗口中,可以在单独的行上查看每个路径。
-
检查 Java 安装
bin
文件夹的路径是否存在。路径可能与以下示例类似。C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
-
如果路径中缺少 Java 安装
bin
的文件夹,请选择 “新建” 将其添加,然后选择 “确定”。
-
-
以管理员身份打开 Windows 命令提示符 (
cmd.exe
)。 -
在 Windows 设备上的 LocalSystem 帐户中创建默认用户。将
密码
替换为安全密码。net user /add ggc_user
password
提示
根据你的 Windows 配置,用户的密码可能会设置为在将来的某个日期过期。为确保您的 Greengrass 应用程序继续运行,请跟踪密码何时过期,并在密码过期之前对其进行更新。您也可以将用户的密码设置为永不过期。
-
要检查用户及其密码何时过期,请运行以下命令。
net user
ggc_user
| findstr /C:expires -
要将用户的密码设置为永不过期,请运行以下命令。
wmic UserAccount where "Name='
ggc_user
'" set PasswordExpires=False -
如果你使用的是已弃用该
wmic
命令的Windows 10 或更高版本,请运行以下 PowerShell 命令。 Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = '
ggc_user
'" | Set-CimInstance -Property @{PasswordExpires="False"}
-
-
从微软下载该PsExec实用程序
并将其安装到设备上。 -
使用该 PsExec 实用程序将默认用户的用户名和密码存储在 LocalSystem 账户的凭据管理器实例中。将
密码
替换为您之前设置的用户密码。psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:
password
如果PsExec License Agreement打开,Accept请选择同意许可并运行命令。
注意
在 Windows 设备上,该 LocalSystem 帐户运行 Greengrass 核心,您必须使用 PsExec 该实用程序在帐户中存储默认用户信息。 LocalSystem 使用凭据管理器应用程序将此信息存储在当前登录用户的 Windows 帐户中,而不是 LocalSystem 帐户中。