无法本地调用Apache Ignite REST API 求助排查
Ignite REST API 连接被拒绝(ECONNREFUSED)排查方案
问题场景
- 已安装Ignite 2.15.0二进制包,按官方文档启动两个默认配置节点,命令行输出正常
- 使用Java 18运行环境
- 执行REST查询命令:
报错:curl "http://localhost:8080/ignite?cmd=version"Error: connect ECONNREFUSED 127.0.0.1:8080 - 官方文档说明默认无需额外配置,但仍出现连接失败
排查与解决方案
1. 确认REST API模块已启用
默认启动脚本不会自动加载REST API模块,需手动指定或修改配置:
- 启动时加载模块:在启动节点的命令中添加
--include=rest-api参数:./ignite.sh --include=rest-api - 修改默认配置文件:编辑
config/default-config.xml,添加REST连接器配置:
修改后重启节点。<bean class="org.apache.ignite.configuration.IgniteConfiguration"> <!-- 保留原有配置 --> <property name="connectorConfiguration"> <bean class="org.apache.ignite.configuration.ConnectorConfiguration"/> </property> </bean>
2. 检查端口状态
- 验证8080端口是否被其他进程占用:
# Linux/macOS lsof -i :8080 # Windows netstat -ano | findstr :8080 - 若端口被占用,可修改REST端口:在
ConnectorConfiguration中指定新端口:
调用时改用新端口:<property name="connectorConfiguration"> <bean class="org.apache.ignite.configuration.ConnectorConfiguration"> <property name="port" value="8081"/> </bean> </property>curl "http://localhost:8081/ignite?cmd=version"
3. 验证Java版本兼容性
Ignite 2.15.0官方推荐Java版本为8-11,对Java 18的支持存在兼容性风险。建议切换到Java 8或11环境后重启节点,再测试REST连接。
4. 查看节点日志定位问题
检查work/log目录下的节点日志,搜索REST或Connector关键词,确认是否存在模块加载失败、端口绑定失败等错误信息,根据日志提示进一步排查。
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

