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

如何通过PHP连接Zookeeper集群管理的Solr Cloud集群

PHP 对接3节点Zookeeper托管的Solr 8.11 Cloud集群方案

先解答你提到的端口疑问

配置里填写Solr服务的8983端口而非Zookeeper端口是Solarium的正常设计逻辑:
Solarium 主库没有内置Zookeeper客户端,不会直接和Zookeeper集群建立连接。它只需要通过任意一个存活的Solr节点的HTTP接口,就能拉取到整个Solr Cloud集群的全量状态,包括分片分布、副本节点地址、节点存活情况、Collection配置等信息,后续的读写请求会自动路由到正确的节点,不需要手动配置所有Solr节点,也不需要对接Zookeeper。
已经废弃的solarium-cloud库的实现逻辑是自己连Zookeeper监听节点变化,这个方案因为维护成本高、稳定性差已经被官方弃用,不要在生产环境使用。

生产环境对接步骤

1. 版本要求

  • 必须使用 Solarium ≥6.3 版本,低版本存在Solr Cloud路由逻辑bug,无法兼容Solr 8.11的集群状态返回格式
  • 不需要安装任何额外的第三方扩展,Solarium主库已经内置完整的Solr Cloud模式支持

2. 最小可用配置

<?php
require 'vendor/autoload.php';

use Solarium\Client;

$config = [
    'endpoint' => [
        // 仅需配置1-2个可用的Solr节点作为集群入口即可,不需要把3个节点全部写入
        'solr_entry_1' => [
            'host' => 'Solr节点1内网IP',
            'port' => 8983,
            'path' => '/',
            'collection' => '目标Collection名称',
            // 集群开启鉴权时才需要配置下面两行
            'username' => 'solr',
            'password' => '你的集群密码',
        ],
        // 建议配置第二个入口节点做高可用,避免第一个节点故障时服务不可用
        'solr_entry_2' => [
            'host' => 'Solr节点2内网IP',
            'port' => 8983,
            'path' => '/',
            'collection' => '目标Collection名称',
        ]
    ],
    // 核心配置:开启Solr Cloud模式
    'cloud' => true,
];

$client = new Client($config);

// 连通性验证:拉取集群状态
$adminRequest = $client->createAdmin();
$adminRequest->setAction('cloud');
$clusterStatus = $client->execute($adminRequest);

3. 生产环境优化建议

  • PHP服务和Solr集群必须走内网通信,不要把Solr 8983端口暴露到公网
  • 集群入口节点配置2个即可,配置过多入口会增加初始拉取集群状态的请求开销
  • 可以把拉取到的集群拓扑信息缓存30-60秒,减少每次请求重复拉取集群状态的性能损耗,缓存时间不要超过2分钟,避免节点上下线后出现路由错误
  • 所有入口节点的鉴权账号密码必须保持一致,否则会出现部分节点请求鉴权失败

常见排错点

  • 出现路由错误时,先手动访问你配置的入口节点的/solr/admin/collections?action=CLUSTERSTATUS接口,确认接口能正常返回集群状态,且PHP机器能正常访问该接口
  • 不要尝试在配置里填写Zookeeper的2181端口,Solarium无法识别Zookeeper协议,会直接报连接错误
  • 不要使用废弃的solarium-cloud库,该库已经停止维护超过4年,存在大量已知的路由bug、内存泄漏问题,完全达不到生产可用标准
  • Solr 9.x版本的对接逻辑完全一致,仅需将Solarium版本升级到≥7.0即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:21:33