首页/新闻资讯/正文详情

多主复制实战:用Galera搭建Manticore Search高可用集群

发布时间:2026/9/22 11:11:43 来源:云帆数科 栏目:资讯中心
多主复制实战:用Galera搭建Manticore Search高可用集群
多主复制实战用Galera搭建Manticore Search高可用集群【免费下载链接】manticoresearchOpen-source search database for full-text, vector, and hybrid search with real-time indexing and SQL.项目地址: https://gitcode.com/gh_mirrors/ma/manticoresearchManticore Search 是一款开源搜索数据库支持全文、向量与混合搜索并内置了基于 Galera 库的多主复制能力。借助它你可以用几行 SQL 就把多台服务器组成一个高可用集群任意节点都能读和写数据几乎同步节点故障还能自动剔除和恢复。本文带你从零理解到落地完整走通 Manticore Search 高可用集群的搭建与运维。为什么选 Galera 多主复制很多搜索引擎的集群其实只是分片或主从复制写流量被限制在单一主节点上。而 Manticore Search 的复制方案由 Galera 库 驱动带来几个对生产环境至关重要的特性 真正的多主随时可对集群中任意节点写入无需选主几乎同步复制无从属延迟节点崩溃后不丢数据热备份节点切换零停机因为根本没有故障转移到主这一步自动节点配置新节点加入时自动拉取数据无需手动备份恢复自动剔除不可靠节点并支持基于认证的复制。 复制支持 Linux 和 macOS覆盖percolate、rt和distributed表Windows 原生版本暂不支持可通过 WSL 使用。完整机制见官方中文手册设置复制。开工前3 个必配的配置项在配置文件的searchd段落中确认以下三项否则复制无法启用data_dir— 数据目录纯内存模式不支持复制listen— 必须有一个带replication类型的端口范围监听器供集群节点间通信server_id可选— 为每个节点设置唯一值保证集群表 Auto ID 不冲突。searchd { listen 9312 listen 192.168.1.101:9360-9370:replication data_dir /var/lib/manticore/ }如果开启了身份验证还要给参与复制的用户授予replication权限如GRANT replication ON posts TO repl_user细节参见 设置复制。五分钟上手4 步搭建高可用集群假设你已有一个名为pq_title的实时表三台机器node-a、node-b、node-c都装好了 Manticore Search。第 1 步在 node-a 上创建集群CREATE CLUSTER posts第 2 步把本地表加入集群ALTER CLUSTER posts ADD pq_title第 3 步让其余节点加入在 node-b、node-c 上分别执行指向任意一个已建集群的节点即可JOIN CLUSTER posts AT node-a:9312新节点加入时会自动进行状态传输SST——由现有节点提供完整数据副本无需你手动备份。传输过程中可通过cluster_posts_sst_total变量查看 0 到 100 的进度说明见 复制集群状态。第 4 步用集群名:表名的方式写入INSERT INTO posts:pq_title VALUES ( 3, test me )这一行会在 node-a 上执行但数据会几乎同步地出现在所有节点上。读取则更灵活——SELECT * FROM pq_title直接查本地表即可任何节点返回的结果都一致。创建、加入集群的完整语法参见创建复制集群、加入复制集群。监控集群健康一条 SHOW STATUS 就够高可用集群最怕带病运行。执行SHOW STATUS可以查看所有集群状态变量重点盯住这几个变量健康值含义cluster_posts_statusprimary集群仲裁存在可正常读写cluster_posts_node_statesynced本节点已完成同步cluster_posts_size3当前在群节点数cluster_posts_nodes_view—本节点实际看到的集群成员此外还能看到 SST 进度、conf_id成员变更次数、last_error等。变量清单的完整解释在 复制集群状态 一节配合仪表盘可以构建完整的集群监控面板。节点故障了怎么办恢复手册多主复制的精髓在于把集群当作一个逻辑系统。按故障场景对号入座即可场景 1单节点崩溃存活节点会短暂保留旧成员列表随后自动剔除故障节点并重算法定人数集群继续可写。故障节点重启后自动重新加入——若错过了的事务还在其他节点的复制缓存里走轻量的增量传输IST追赶否则走重量级的快照传输SST全量拉取。场景 2所有节点干净关闭如机房维护每个节点关闭时会把复制状态写入grastate.dat其中seqno事务序号和safe_to_bootstrap标志决定了谁应该先启动。选seqno最大且safe_to_bootstrap: 1的节点通常是最后关闭的用特殊模式拉起它searchd --new-cluster其余节点再正常启动自动重新加入。systemd 用户可直接用manticore_new_cluster命令。场景 3所有节点崩溃grastate.dat的元数据已不可靠选择数据最新的节点用searchd --new-cluster-force强制引导。场景 4仲裁丢失集群变成 non-primary 拒绝写入在确认另一侧确实离线后只在一侧执行SET CLUSTER posts GLOBAL pc.bootstrap 1⚠️ 切记绝不能在脑裂的两侧都执行该命令否则会形成两个永不自动合并的独立集群。这套恢复决策的完整推演值得精读 集群恢复 与 重启集群 两篇官方文档。实践避坑清单一张表只属于一个集群复制是按表划域的规划好表与集群的归属关系写语句必须带集群前缀漏写posts:前缀会直接报错这是新手最常见的坑端口范围别交叉不同集群的replication监听器端口范围不能重叠每个集群至少预留两个端口节点数建议取奇数3 或 5 个节点的仲裁更稳健偶数集群在分裂时两侧可能同时失去法定人数集群生命周期管理增删节点用ALTER CLUSTER ... UPDATE nodes退出集群用EXIT CLUSTER参考 管理复制节点。写在最后Manticore Search 用SQL Galera的组合把过去需要分片框架、自研中间件才能实现的多主高可用压缩成了几条CREATE CLUSTER/JOIN CLUSTER语句。对于需要实时写入、又不想忍受复制延迟的搜索场景电商、日志、推荐召回这套方案值得直接落地。动手时建议从 3 节点起步配合SHOW STATUS养成日常巡检习惯高可用集群便能长期稳定运行 【免费下载链接】manticoresearchOpen-source search database for full-text, vector, and hybrid search with real-time indexing and SQL.项目地址: https://gitcode.com/gh_mirrors/ma/manticoresearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

a590手写实现:一文搞懂性能优化实战
a590手写实现:一文搞懂性能优化实战

a590手写实现:一文搞懂性能优化实战 看了一堆教程还是不会写项目?别急,问题往往不在概念,而在性能。今天咱们用 a590 这个典型场景,一文搞懂如何从代码层面揪出瓶颈、完成优化,并拿到可复现的数据。全文围绕“性能瓶颈 → 优化前代码 →… · 2026/9/22 11:11:43

3个血泪教训:电脑屏幕保护图片配置避坑指南
3个血泪教训:电脑屏幕保护图片配置避坑指南

3个血泪教训:电脑屏幕保护图片配置避坑指南 配置环境就卡半天,这种痛感谁懂?我刚入行时,为了把电脑屏幕保护图片设置成动态数据流,折腾了整整三天。文档看了无数遍,代码复制粘贴了一堆,结果一运行,要么黑屏,要么闪退。后来才发现,问题根本不在图片… · 2026/9/22 11:11:30

微信图标素材加载慢?3招性能优化救急
微信图标素材加载慢?3招性能优化救急

微信图标素材加载慢?3招性能优化救急 配置环境就卡半天,前端页面里那个小小的微信图标,居然成了整个应用的性能杀手。别笑,这真不是夸张。很多开发者在接入第三方SDK或静态资源时,往往只关注功能实现,却忽略了资源体积对首屏加载和内存占用的致命影… · 2026/9/22 11:11:24

川农教务网代码跑不通?3个高频面试题级Bug排查实战
川农教务网代码跑不通?3个高频面试题级Bug排查实战

川农教务网代码跑不通?3个高频面试题级Bug排查实战 刚把同事给的 sichuan-agri-login.py 丢进 PyCharm,回车一敲,屏幕直接弹红字 SSLError: certificate verify failed… · 2026/9/22 12:21:29

青春搏击主题曲渲染卡顿?这份避坑指南救了我的命
青春搏击主题曲渲染卡顿?这份避坑指南救了我的命

青春搏击主题曲渲染卡顿?这份避坑指南救了我的命 复制来的代码跑不通,报错信息满屏飞,鼠标转圈转到怀疑人生?别急,这不是你的问题,是代码没调教好。今天我们就拿那个让人头大的“青春搏击主题曲”动态视觉化项目开刀,聊聊从卡成PPT到丝滑60帧的… · 2026/9/22 12:21:23

2026最新UI设计尺寸避坑指南:3个核心参数救活你的排版
2026最新UI设计尺寸避坑指南:3个核心参数救活你的排版

2026最新UI设计尺寸避坑指南:3个核心参数救活你的排版 复制来的UI设计尺寸代码跑不通,浏览器渲染出来全是错位、溢出或者模糊,是不是让你抓狂?很多开发者拿着网上随便找的CSS布局方案,丢进项目里就报错,调试半天发现不是逻辑错,而是底层的… · 2026/9/22 12:21:17

Claude Desktop 的 Code/Cowork 要消耗 Token,模型通道接到 TaoToken
Claude Desktop 的 Code/Cowork 要消耗 Token,模型通道接到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/22 12:20:58

2026最新maven打包命令实战:面试被问原理别慌,这5条命令搞定
2026最新maven打包命令实战:面试被问原理别慌,这5条命令搞定

2026最新maven打包命令实战:面试被问原理别慌,这5条命令搞定 面试被问到“Maven怎么打包”时,如果你只能回答“mvn… · 2026/9/22 12:20:27

手机网站制作5大坑:新手避坑指南与源码级解析
手机网站制作5大坑:新手避坑指南与源码级解析

手机网站制作5大坑:新手避坑指南与源码级解析 复制来的代码跑不通,浏览器控制台一片红字,改哪行都没用,这种崩溃感谁懂?很多新手在搞手机网站制作时,习惯直接搬教程里的Demo,结果一上线就崩。这不仅仅是代码问题,更是底层逻辑没搞懂。今天咱们不… · 2026/9/22 12:20:14

5个电影海报图片处理坑,新手避坑指南
5个电影海报图片处理坑,新手避坑指南

5个电影海报图片处理坑,新手避坑指南 刚写完代码,一运行屏幕直接炸了。满屏红色的 StackTrace 滚得比弹幕还快,什么 NullPointerException 、 ImageIO.read() returned null 、… · 2026/9/22 0:00:07

注册微信公众账号:一文搞懂从0到1全流程
注册微信公众账号:一文搞懂从0到1全流程

注册微信公众账号:一文搞懂从0到1全流程 复制来的代码跑不通,报错信息满屏飞,到底卡在哪?别急,咱们先停下手里的调试。很多开发者觉得注册微信公众账号只是填个表单、传个身份证那么简单,真上手才发现坑深不见底。今天这篇 一文搞懂… · 2026/9/22 0:00:07

手写实现图片压缩网站核心:搞定WebP转换与质量调优
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站… · 2026/9/22 0:00:19

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码