# huaweicloud-solution-building-an-ha-solr-cluster **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-an-ha-solr-cluster ## Basic Information - **Project Name**: huaweicloud-solution-building-an-ha-solr-cluster - **Description**: 该解决方案基于开源项目Solr构建,可以帮助您在华为云上快速部署SolrCloud+ZooKeeper分布式搜索服务。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-20 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于开源项目Solr构建,可以帮助您在华为云上快速部署SolrCloud+ZooKeeper分布式搜索服务。SolrCloud是Apache Solr的一个分布式部署模式,它使用ZooKeeper作为作为集群的配置信息中心、协调服务,提供了高可用、可扩展、自动容错等能力。适用于索引量很大,搜索请求并发很高的场景。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/building-an-ha-solr-cluster.html **架构图** --------------- ![方案架构](./document/building-an-ha-solr-cluster.png) **架构描述** --------------- 该解决方案会部署如下资源: 单机版 - 创建一台弹性云服务器 ECS,用于部署Solr后台搜索服务。 - 创建安全组,通过配置安全组访问规则保证弹性云服务器 ECS的网络安全。 高可用版 - 创建三台弹性云服务器 ECS部署ZooKeeper集群,作为SolrCloud的配置信息中心,用于协调服务。 - 创建四台弹性云服务器 ECS,用于部署SolrCloud分布式搜索服务。 - 创建安全组,通过配置安全组访问规则保证弹性云服务器 ECS的网络安全。 **组织结构** --------------- ``` lua huaweicloud-solution-building-an-ha-solr-cluster ├── building-an-ha-solr-cluster.tf.json -- 资源编排模板 ├── building-an-ha-solr-cluster-single.tf.json -- 资源编排模板 ├── userdata ├── install_solr.sh -- Solr单机版配置文件 ├── install_zookeeper.sh -- ZooKeeper配置文件 ├── install_solrcloud.sh -- Solr集群版配置文件 ``` **开始使用** --------------- ###### VPC对等连接 1.登录[VPC对等连接](https://console.huaweicloud.com/vpc/?agencyId=f40f555cfe4e47fa8251ac1bb3f025ac®ion=cn-north-4&locale=zh-cn#/vpc/vpcs/list)控制台,选择“对等连接”。 图1 对等连接 ![对等连接](./document/readme-image-001.png) 2.单击“创建对等连接”,填写"对等连接名称"、“本端VPC”和“对端VPC”,单击“确定”后弹出提示框,单击“立即添加”。 图2 创建对等连接 ![创建对等连接](./document/readme-image-002.png) 图3 立即添加 ![立即添加](./document/readme-image-003.png) 3.单击“添加路由”,添加两端VPC路由,单击“确定“,即可对等成功。 图4 添加路由 ![添加路由](./document/readme-image-004.png) ###### Solr单机版 1.配置VPC对等连接 ,保证不同VPC网络互通。单击该方案堆栈详情页面的“输出”,即可查看Solr服务的所有IP地址,在浏览器访问输入:“http://IP地址:8080/solr/index.html“,即可访问Solr后台系统。 图5 输出回显命令 ![输出回显命令](./document/readme-image-005.png) 2.进入Solr服务主页面,表示Solr后台搭建成功。 图6 搭建成功 ![搭建成功](./document/readme-image-006.png) ###### SolrCloud集群初始化 1.配置VPC对等连接 ,保证不同VPC网络互通。单击该方案堆栈详情页面的“输出”,即可查看Solr服务的所有IP地址,在浏览器访问输入:“其中任意一个IP地址:8080/solr/index.html“,即可访问Solr后台系统。 图7 输出回显命令 ![输出回显命令](./document/readme-image-007.png) 2.进入Solr服务主页面,显示“Cloud”菜单栏,表示集群搭建成功。 图8 验证集群 ![验证集群](./document/readme-image-008.png) 3.单击主页面中的“Collections”创建Solr集群的逻辑结构,选择“Add Collection”,具体参数根据业务使用填写,配置完此项即可使用。 图9 创建Collections ![创建Collections](./document/readme-image-009.png) ``` name:collection的名称 config set:指定使用Zookeeper中配置文件,默认为myconf numShards:collection的逻辑分片数量 replicationFactor:每个分片的复本数 maxShardsPerNode:每个Solr服务器节点上最大分片数(Solr 4.2新增) solr_count:Solr服务器数量。 注意:numShards*replicationFactor<=maxShardsPerNode*solr_count。 若不符合以上规则,创建的时候会报错。 ``` 图10 创建Solr集群的逻辑结构 ![创建Solr集群的逻辑结构](./document/readme-image-010.png) 图11 配置完成 ![配置完成](./document/readme-image-011.png)