解决方法
Amazon EMR 安全组规则不正确
要解决此问题,请执行以下操作:
- 验证 Amazon EMR 托管安全组规则对于内部用户、外部用户和应用程序是否正确。
- 允许在端口 8443 上使用 TCP,以便集群管理器可以与集群的主节点通信。
- 允许在端口 22 上使用 SSH,以便您可以使用 SSH 连接到集群。
Amazon EMR 集群在私有子网中的设置不正确
要解决此问题,请执行以下操作:
- 添加针对服务访问的托管安全组。安全组规则必须允许集群管理器与集群节点通信。
- 如果您使用的是堡垒主机,请配置堡垒主机安全组,以允许来自客户端系统的入站流量。此外,请配置 Amazon EMR 集群安全组,以允许来自堡垒主机的入站流量。
**注意:**网络配置设置各不相同,因此请确保正确设置端到端连接,且不存在黑洞。
身份验证设置不正确
检查身份验证设置是否使用 Amazon Elastic Compute Cloud (Amazon EC2) 密钥对或 Kerberos。然后,正确配置您的身份验证设置。
集群节点中存在资源限制
要解决此问题,请执行以下操作:
主节点的实例控制器未运行
确保主节点的实例控制器正在运行。实例控制器是在集群节点上运行并与 Amazon EMR 控制平面和集群其余部分通信的进程守护程序。
在 Amazon EMR 版本 5.30.0 及更高版本上运行以下命令,以检查实例控制器的状态:
sudo systemctl status instance-controller
如果实例控制器未处于活动状态,请运行以下命令以启动实例控制器:
sudo systemctl start instance-controller
要检查早期 Amazon EMR 版本上实例控制器的状态并启动实例控制器,请参阅如何在 Amazon EMR 中重启服务?