-
-
Notifications
You must be signed in to change notification settings - Fork 262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
跨集群迁移索引数据不一致 #80
Comments
查看之前,有手动刷新么? |
你好!
很抱歉没有第一时间回复。是的,查看之前已经手动刷新过了,并且还等了一段时间查看,数据还是不一致。多次数据导入后,虽然数据一致了,但是索引的体积却增大不少。
万俊宝
***@***.***
…------------------ 原始邮件 ------------------
发件人: "medcl/esm" ***@***.***>;
发送时间: 2023年10月31日(星期二) 下午3:26
***@***.***>;
***@***.******@***.***>;
主题: Re: [medcl/esm] 跨集群迁移索引数据不一致 (Issue #80)
查看之前,有手动刷新么?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
应该是 bulk 请求的部分文档失败了,esm 没有处理 429 的情况。体积一般是需要合并,或者和 mapping 有关系。 |
我加入了 SortField, TruncateOutFile, SkipFields 等配置信息, 可以通过导出到本地文件的方式进行比较. 示例:
|
如果是为了生成测试数据,可以使用 Loadgen 来做:https://infinilabs.com/docs/latest/gateway/getting-started/benchmark/ |
@lianmeng0 如果是因为 429 部分失败,可以尝试避免产生太大的压力,尽管迁移速度会慢一些,但是不会失败。 |
你好!一次迁移中,参数配置已经降低,但是在遇到较大的索引时(大约150G),出现大量的date is empty, skip然后就会出现error EOF
…---原始邮件---
发件人: ***@***.***>
发送时间: 2024年3月18日(周一) 晚上8:12
收件人: ***@***.***>;
抄送: ***@***.******@***.***>;
主题: Re: [medcl/esm] 跨集群迁移索引数据不一致 (Issue #80)
@lianmeng0 如果是因为 429 部分失败,可以尝试避免产生太大的压力,尽管迁移速度会慢一些,但是不会失败。
本工具只适合小规模迁移,比较复杂的数据迁移,可能需要完整的解决方案,极限网关的迁移功能处理了 bulk 的返回处理,可以试试
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
个人建议:
然后将使用的 esm版本 + 详细命令 + fiddler + 日志等 贴上来. 帮着分析是代码的问题还是使用方式的问题. 另外, 可以试试 v0.7.0 版本中提供的 --sync 功能. 我用之前的版本同步, 也发现有数据丢失的现象. 重构代码后, 再也没有发现丢失数据的现象. |
使用新版本后,发现不能够跨版本迁移 返回报错: |
看起来是类似 https://stackoverflow.com/questions/45427887/how-to-get-the-maximum-id-value-in-elasticsearch 的原因. 如果想使用
|
|
你这很奇怪. 按我执行
|
你好!非常抱歉,又来打搅您了。本次按你的要求添加各种参数去执行迁移命令。 |
经过确认, 是在增加 --sync 功能时, 没有支持 -u 参数, 且没有在 es 5.x 的版本上测试. esm-linux-amd64.zip 自测方式( docker )
|
你好!使用该方法依然报错,这是报错截图: 我确定我这边的服务链接正常,集群稳定 |
@lianmeng0 从出错状态和代码来看, 是向服务器发送 更新请求以后, 返回状态不对( 非 200), 而且没有从服务器读到响应信息( server error 后为 空).
然后执行 esm 后, 将 dst_es.pcap 提供( 注意: 其大小应该大于 24 字节, 表示抓到了包 ). |
可以使用这个新的包测试一下.
|
你好!这是测试产生的error日志最后的内容: 全部内容已发送到邮件:[email protected] 还请查收 |
看来是我给的示例命令有点问题, 改成如下试试 ( 删除了 -s 和 -d 参数后面的最后一个 "/" ),
|
@lianmeng0 你好,现在怎么样? |
很抱歉,这么久才回复。目前你提供的示例命令运行有误,不知是否是参数问题还是其它,错误如下: 添加参数限制 -c 5000 也还是有相同的错误告警 这是命令执行后的开始日志: 这是日志中关键的地方: 说请求参数不正确,整个日志已发送到你的邮箱,还请注意查收 |
从集群5.6.4迁移索引到7.17.4,迁移界面是成功的,数据也是全部写入了,但是在7.17.4集群查询时,发现文档数不一致。ESM使用的是0.6.1版本。但是当多次运行迁移程序后,数据可以成功补全。
第一次迁移:
多次迁移后:
请问是怎么回事儿?还请指教。谢谢!
The text was updated successfully, but these errors were encountered: