Azkaban Solo Server执行流报错:连接localhost:10000被拒绝求助
排查Azkaban Solo-Server执行流时的连接拒绝问题
从你给出的报错信息和配置来看,核心问题是Azkaban的Web Server无法连接到本地的Executor服务(端口10000)。下面是一步步的排查方案:
1. 确认Executor服务是否真的在监听10000端口
首先得确定你的solo-server是否成功启动了Executor组件,并且在10000端口上监听:
- Linux/macOS:执行命令
netstat -tulpn | grep 10000或者ss -tulpn | grep 10000,看看有没有进程在监听这个端口。 - Windows:打开命令提示符,执行
netstat -ano | findstr :10000,检查是否有对应的PID。
如果没有任何结果,说明Executor根本没启动,或者没使用10000端口。
2. 检查Azkaban配置的完整性
你修改了executor.port=10000,但solo-server需要确保Executor相关的配置都正确:
- 确认
azkaban.properties里有没有executor.enabled=true(默认应该是启用的,但如果被注释或修改过会有问题)。 - 确保
executor.host=localhost(如果改成了其他主机,Web Server会连错地址)。 - 对于solo-server,Web和Executor是在同一个进程里的,还要检查Web Server是否指向了正确的Executor端口:确认配置里有
azkaban.webserver.executor.port=10000(如果没有的话加上)。
3. 验证配置修改后是否重启了服务
很多时候修改配置后忘记重启solo-server,导致新的端口配置没有生效。一定要先停止Azkaban服务,再重新启动,然后再检查端口监听情况。
4. 检查端口是否被其他进程占用
如果上面的端口检查显示10000端口被其他进程占用了,那Azkaban的Executor就无法启动。你可以:
- 杀掉占用端口的进程(用
kill <PID>在Linux,或者在Windows任务管理器里结束对应PID的进程),然后重启Azkaban。 - 或者修改
executor.port为其他未被占用的端口(比如10001),同时同步修改Web Server里对应的Executor端口配置,再重启服务。
5. 排查本地防火墙或网络限制
虽然是连接localhost,但有些系统的防火墙规则会阻止本地端口的连接:
- Linux:临时关闭防火墙测试(
sudo systemctl stop firewalld或sudo ufw disable),如果能正常连接了,再添加允许10000端口的规则。 - Windows:打开Windows Defender防火墙,检查是否有阻止Azkaban进程的规则,或者临时关闭防火墙测试。
6. 查看详细日志定位根因
如果上面的步骤都没解决问题,去查看Azkaban的日志文件:
azkaban-executor.log:看看Executor启动时有没有报错,比如依赖缺失、配置格式错误等。azkaban-webserver.log:查看Web Server尝试连接Executor时的详细错误信息,可能会有更多线索。
你遇到的报错信息:
Error submitting flow bar. azkaban.executor.ExecutorManagerException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:10000 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)
你修改的配置:
default.timezone.id=Asia/Tokyo jetty.port=8081 executor.port=10000
内容的提问来源于stack exchange,提问作者user9756398
相关产品推荐
相关产品推荐

