You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EMR主节点instance-controller服务启动失败,寻求解决方法

解决EMR instance-controller服务反复重启且无法启动的问题

问题现象

  • EMR控制台出现验证错误
  • 执行sudo systemctl status instance-controller.service时,服务状态在running和auto-restart之间频繁切换
  • 主节点系统日志抛出核心错误:
    java.lang.RuntimeException: LocalStartupState is FAILED, so not allowing instance controller to start
        at aws157.instancecontroller.common.InstanceConfigurator.hasAlreadyBeenConfigured(InstanceConfigurator.java:124)
        at aws157.instancecontroller.common.InstanceConfigurator.<init>(InstanceConfigurator.java:100)
        at aws157.instancecontroller.InstanceController.<init>(InstanceController.java:223)
        at aws157.instancecontroller.Main.runV1Framework(Main.java:239)
        at aws157.instancecontroller.Main.main(Main.java:222)
    
  • 多次执行sudo systemctl start instance-controller.service重启服务、重启节点均无效;集群任务运行正常,但无法推送应用日志至S3或在EMR控制台查看日志

解决方案

1. 重置LocalStartupState状态标记

Instance Controller会读取/emr/instance-state/下的状态文件,当标记为FAILED时会阻止启动,执行以下命令重置状态:

# 停止instance-controller服务
sudo systemctl stop instance-controller.service

# 删除失败状态标记文件
sudo rm -f /emr/instance-state/startup-state

# 重新启动服务
sudo systemctl start instance-controller.service

2. 修复日志目录权限

确保hadoop用户拥有Instance Controller日志目录的读写权限:

sudo chown -R hadoop:hadoop /var/log/aws/emr/instance-controller/
sudo chmod -R 755 /var/log/aws/emr/instance-controller/

3. 验证EC2实例元数据访问

Instance Controller依赖EC2实例元数据获取配置信息,检查访问是否正常:

curl http://169.254.169.254/latest/dynamic/instance-identity/document

若无法访问,需检查实例IAM角色权限、安全组规则或路由配置是否阻止了元数据访问。

4. 强制初始化Instance Controller

若上述步骤无效,执行强制初始化脚本:

sudo /usr/bin/instance-controller --initialize
sudo systemctl restart instance-controller.service

5. 检查Log Pusher服务状态

日志推送至S3依赖logpusher服务,确认其运行状态:

sudo systemctl status logpusher.service

若服务异常,重启logpusher:

sudo systemctl restart logpusher.service

验证操作

执行以下命令确认服务稳定运行:

# 查看服务状态
sudo systemctl status instance-controller.service

# 实时监控Instance Controller日志
tail -f /var/log/aws/emr/instance-controller/instance-controller.log

观察日志无新错误后,检查EMR控制台是否能正常查看日志,以及S3目标路径是否有日志文件生成。

内容的提问来源于stack exchange,提问作者Swapnil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:41:47