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

CentOS 9下Nginx配置Presto双上游负载均衡故障排查

问题排查与解决:Presto Coordinators Nginx负载均衡失效

以下是针对CentOS 9 + Nginx 1.22.1环境下Presto Coordinators负载均衡失效的排查步骤与解决方案:

1. 验证Nginx上游块与Server块配置

首先确认presto_coordinators上游配置无语法错误,且已正确关联到对应的Server块:

  • 上游块示例配置(确保负载均衡策略、节点信息正确):
    upstream presto_coordinators {
        least_conn; # 可替换为round-robin、ip_hash等策略
        server 192.168.33.10:8080 max_fails=3 fail_timeout=30s;
        # 添加其他Coordinator节点(如果有)
    }
    
  • Server块需正确引用上游:
    server {
        listen 8086; # 自定义Coordinator负载均衡端口
        location / {
            proxy_pass http://presto_coordinators;
            # 必须保留的代理头,避免Presto识别异常
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
  • 执行配置校验与重载:
    nginx -t && systemctl reload nginx
    

2. 检查Presto Coordinator监听地址

确认Coordinator节点的8080端口监听在可被Nginx访问的地址上:

  • 在Coordinator节点执行端口监听检查:
    netstat -tulpn | grep 8080
    
    确保输出中监听地址为0.0.0.0:8080或192.168.33.10:8080,而非127.0.0.1:8080(仅本地可访问)。
  • 若监听地址错误,修改config.properties添加:
    http-server.http.address=192.168.33.10
    
    重启Presto服务生效。

3. 排查Discovery服务的影响

注意到你的Coordinator配置中discovery.uri指向Resource Manager的负载均衡端口http://localhost:8085:

  • 如果客户端是通过Discovery服务获取Coordinator地址,而非直接访问Nginx的Coordinator负载均衡端口,那么Nginx的负载均衡不会生效。需确保客户端直接连接Nginx的Coordinator LB端口,或调整Discovery服务配置,让其返回Nginx LB的地址。

4. 网络与权限排查

  • 连通性测试:在Nginx节点执行,确认能访问Coordinator节点的8080端口:
    curl -I http://192.168.33.10:8080/v1/info
    
  • 防火墙配置:检查CentOS 9防火墙是否开放8080端口:
    firewall-cmd --list-all
    
    若未开放,添加规则并重载:
    firewall-cmd --add-port=8080/tcp --permanent
    firewall-cmd --reload
    
  • SELinux影响:若SELinux处于Enforcing状态,临时关闭测试:
    setenforce 0
    
    若测试正常,配置SELinux允许Nginx网络连接:
    setsebool -P httpd_can_network_connect on
    

5. Nginx日志定位问题

查看Nginx日志获取具体报错信息:

  • 错误日志路径:/var/log/nginx/error.log
  • 访问日志路径:/var/log/nginx/access.log
    搜索presto_coordinators相关请求,排查是否存在连接超时、拒绝连接等异常,根据日志信息精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:27:39