如何使用 INFINI Gateway 对比 ES 索引数据

news/2025/10/7 23:44:05/文章来源:https://www.cnblogs.com/infinilabs/p/19129028

上一篇我们通过 极限网关(INFINI Gateway) 进行了索引数据迁移,对索引迁移结果进行了初步且直观的校验,既对比索引的文档数是否一致。今天介绍个实实在在的数据比对方法,通过网关对比索引文档的内容在两个集群是否一致,此方法适用于 Elasticsearch、Easysearch、Opensearch。话不多说,就拿上次迁移的两个索引开整。

测试环境

软件 版本
Easysearch 1.12.0
Elasticsearch 7.17.29
INFINI Gateway 1.29.2

比对步骤

操作非常简单,拢共分两步:

  1. 准备网关配置
  2. 数据比对

比对实战

  1. 准备网关比对数据的配置

老样子去 github 拿就完了,戳这里。下载完之后,稍作修改.

修改文件开头的变量,两个 ENDPOINT 分别指向两个集群。

  1 env:2   LR_GATEWAY_HOST: 127.0.0.1:80013   LR_GATEWAY_API_HOST: 127.0.0.1:90004   ELASTICSEARCH_ENDPOINT: http://127.0.0.1:92005   ELASTICSEARCH_ENDPOINT2: http://127.0.0.1:92016   SUITES_NAME: index-docs-diff

修改集群资源相关的配置

 36 elasticsearch:37   - name: source38     enabled: true39     endpoints:40       - $[[env.ELASTICSEARCH_ENDPOINT]]41     basic_auth:42       username: elastic43       password: goodgoodstudy4445   - name: target46     enabled: true47     endpoints:48       - $[[env.ELASTICSEARCH_ENDPOINT2]]49     basic_auth:50       username: admin51       password: 14da41c79ad2d744b90c

pipeline 部分修改要对比的索引名称为 infinilabs 和 test1,是的一次对比两个。

pipeline:- name: index_diff_serviceauto_start: truekeep_running: falseprocessor:- dag:mode: wait_allparallel:- dump_hash: #dump es1's docsort_document_fields: trueindices: "infinilabs,test1"scroll_time: "10m"elasticsearch: "source"
#              query_string: "_id:c8es70pu46lgfdgmja9g-1646117763293610802-2"
#              fields: "doc_hash"output_queue: "source_docs"batch_size: 1000slice_size: 1
#              hash_func: "xxhash64"- dump_hash: #dump es2's docindices: "infinilabs,test1"scroll_time: "10m"
#              fields: "doc_hash"
#              query_string: "_id:c8es70pu46lgfdgmja9g-1646117763293610802-2"batch_size: 1000slice_size: 1
#              hash_func: "xxhash64"elasticsearch: "target"output_queue: "target_docs"
  1. 执行数据比对
# 数据比对的配置文件名为 index-diff.yml
./gateway-mac-arm64 -config index-diff.yml

比对结果显示, infinilabs 和 test1 两个索引的数据在两个集群一致。如果数据不一致会是什么情况呢?这个任务交给屏幕前的你了,有问题欢迎找我交流。

关于极限网关(INFINI Gateway)

INFINI Gateway 是一个开源的面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

官网文档:https://docs.infinilabs.com/gateway
开源地址:https://github.com/infinilabs/gateway

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验一 html静态网站开发微服务网站

原文地址:Improving RAG: Self Querying Retrieval 2024 年 2 月 11 日 让我们来解决构建 RAG 系统时的一个大问题。 我们不能依赖语义搜索来完成每个检索任务。只有当我们追求单词的含义和意图时,语义搜索才有意义。 But in case,我们正…

单例模式 + 工厂函数

单例模式 + 工厂函数#include "CRenderDevice.h" #include "CRenderDevice_Renderware.h"static CRenderDevice* g_pRenderDevice = NULL; static stRenderDeivceSettings g_stDeviceSettings;CRe…

网站建设费用预算wordpress 页面内存大

vue3vitets 开发浙里办H5应用流程和注意事项 最近有个项目是要开发到浙里办的一个H5项目,记录一些问题; 浙里办irs系统内node版本和npm版本如下建议切到他们的版本再进行开发这样问题少一点 1.因为浙里办有自己的irs系统 需要吧前端整体的代码传上去 除了 打包后的dist 和 no…

没钱怎么做网站信息网站方案

各位小伙伴们大家好,欢迎来到这个小扎扎的spring cloud专栏,在这个系列专栏中我对B站尚硅谷阳哥的spring cloud教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡spr…

垡头做网站的公司网站制作怎样做背景

[摘要] Timer是实时操作系统的一个重要组成部分。本文结合近阶段的学习和实验情况,对VxWorks中的时间函数和定时器作了一些探讨。主要介绍了Timer的机制,相关的函数,并给出了一些具体的例子。 一. Tick Tick是指每秒中定时器中断的次数。POS…

Ambari安装Hadoop

Ambari界面安装Hadoop集群及其他的组件 Ambari的Web页面安装Hadoop 登入及定义集群名称 使用初始的:admin/admin账号登入到Ambari上,启动安装程序,之后输入集群的名称。bigtop选择组件清单 在这一步选择默认的bigto…

Ambari-bigtop搭建hadoop数据仓库架构

Ambari-bigtop搭建hadoop数据仓库架构我将这些组件分为几大类以便理解:核心存储与资源管理(数据湖基石) HDFS (Hadoop Distributed File System): 分布式文件系统,是整个大数据平台的存储基石。它将以块的形式将海…

安装Ambari集群

1、前置要求 系统环境 系统:4 * Rocky Linux9.6-x86_64-minim 内存:12GB (12288MB) CPU:6 虚拟核 存储:150G 组件: ①Apache Ambari 3.0.0 ②Apache Bigtop 3.3.0 对应的下载链接: Rocky Linux: https://rockyli…

POLIR-Society-Philosophy-Hegels System of Science

POLIR-Society-Philosophy-Hegels System of Science hegel.net - Hegels System of Science, religion and philosophy, philosophy of religion SearchHegels System of Science Enyclopedia Britannica 1911 [PDF V…

Python中的`namedtuple`:命名元组的用法与优势

Python中的namedtuple:命名元组的用法与优势 collections.namedtuple是Python标准库提供的一个实用工具,它创建的是一种带字段名的元组,兼具元组的不可变性和类的可读性,是处理简单数据结构的理想选择。 一、named…

android开发者网站中国最近战争新闻

CortexM3存储器系统 宗旨:技术的学习是有限的,分享的精神是无限的。 CM3 只有一个单一固定的存储器映射。这一点极大地方便了软件在各种 CM3 单片机间的移植。 存储空间的一些位置用于调试组件等私有外设,这个地址段被称为“私有外设区”。私…

一摞python风格的纸牌

一摞python风格的纸牌 import collections# 定义卡牌类 Card = collections.namedtuple(Card, [rank, suit])# 法式扑克牌类 class FrenchDeck:ranks = [str(n) for n in range(2, 11)] + list(JQKA)suits = spades di…

记录一个ubuntu24.04蓝牙不显示不可用的解决方案

记录一个奇怪的ubuntu24.04桌面端的蓝牙标志消失处理办法 现象: 1.蓝牙开关消失,提示plug in a dongle to use bluetooth 2.服务日志提示:Bluetooth service was skipped because of an unmet condition check (Con…

网站开发电脑配置推荐网站流量 seo

客户简介 岗岭集团是中国互联网医药健康的领军企业,致力于用互联网模式和思维方式,改变中国大众“看病难、买药贵”的现状。岗岭集团运用创新的互联网和IT技术提供在线诊疗、购药和健康管理等服务,缩减中间环节,优化供应链&#…

社区门户网站建设方案雅式机械加工网

当我们找工作的时候查看招聘信息发现都需要有自动化测试经验,由此看来测试人员不会一点自动化测试技术都不好意思说自己是做软件测试的。大部分测试人员也都是从使用自动化测试工具、录制回放、测试脚本、开发小工具入门自动化测试的,然后在慢慢的接触 U…

惠州模板网站WordPress wlw设置

简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间的,但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳,稍有区别。1. time() 获取当前的系统时间戳inttime( void ) :返回自从 Unix 纪元(格林威…

directx 与d3d 什么关系

directx 与d3d 什么关系1. DirectX 是一个“套件”DirectX (Direct eXtension) 不是单一库,而是 微软在 Windows 平台上提供的一整套多媒体 API。主要模块包括:Direct3D (D3D) → 3D 图形DirectDraw → 2D 图形(后来…

数据仓库中的“时间旅行者”:深入理解渐变维度(SCD)与拉链表

某电商平台的用户“小美”昨天刚从上海搬到北京,现在住在北京的一家单身公寓里。“小美” 很热爱生活,喜欢烘培烹饪、逛展会、户外旅行等活动。为了满足自己的个性化需求,她选择成为一名电商“重度使用者”。她尤其…

MOVEit网络攻击波及普华永道与安永,供应链安全再响警钟

勒索软件团伙Clop利用MOVEit文件传输服务的零日漏洞发起供应链攻击,导致普华永道、安永等多家知名机构数据泄露。攻击者要求受害企业在6月14日前支付赎金,美国网络安全机构已发布安全补丁。MOVEit网络攻击波及普华永…

Penchick Online Mathematical Olympiad, Qualifying Test 1, III.4

原题链接:https://artofproblemsolving.com/community/c4h3687790_1st_penchick_online_mathematical_olympiad_qualifying_test_1_iii4 解答: 令 , . (统一分母)整理得:代入原式 均值不等式(AM-GM)得到最小 , …