
社区日报 第1249期 (2021-11-13)
1.知识图谱-基于ES和gAnswer构建智能问答系统
https://zhuanlan.zhihu.com/p/91294301
2.使用BM25F和combined_fields优化term查询打分
https://opensourceconnections.com/blog/2021/06/30/better-term-centric-scoring-in-elasticsearch-with-bm25f-and-the-combined_fields-query/
3.一周热点:电影推荐《扬名立万》
1.知识图谱-基于ES和gAnswer构建智能问答系统
https://zhuanlan.zhihu.com/p/91294301
2.使用BM25F和combined_fields优化term查询打分
https://opensourceconnections.com/blog/2021/06/30/better-term-centric-scoring-in-elasticsearch-with-bm25f-and-the-combined_fields-query/
3.一周热点:电影推荐《扬名立万》
https://mp.weixin.qq.com/s/Oa_MV2pp3ja8yy2qMFJ29w
收起阅读 »
Elastic 中国开发者大会 2021 开启了,预热铁粉票已开抢,手慢无!
Elastic 中国开发者大会 2021 是由 Elastic 官方、Elastic 中文社区和极限科技联合主办的开发者大会,作为中国国内唯一一个专门讨论 Elasticsearch 开源技术的大会,是中国最权威和最具实力干货的技术大会,其专业性和内容的质量一直以来在业内都是有口皆碑,大会最早发起于 2013 年初一个很小的线下聚会,之后每年迅速成长,往年大会的演讲嘉宾有来自 Elastic 官方、百度、腾讯、阿里巴巴、360、微博、美团、58、苏宁等众多公司的技术专家,带来过众多精彩的分享,与会听众大多为大数据领域相关的架构师、技术经理与一线开发工程师和运维工程师。
我们本着非盈利目的来举办大会,今年的大会将于2022年1月8号在深圳举行,举办开发者大会的目的是为中国广大的 Elasticsearch 开发者提供一个技术交流和学习切磋的地方,汇集业界众多的成功案例,集思广益,发散思维,促进社区和行业的进步。
大会官网:https://conf.elasticsearch.cn
Elasticsearch铁粉福利:
预热-铁粉票(79元/张), 共计100张,数量有限,赶紧去报名抢购吧!
购票地址:https://www.bagevent.com/event/7899116
同时大会也在公开征集演讲议题与合作赞助商,欢迎各位Elastic相关技术大咖报名参与分享,欢迎有兴趣的赞助商金主大大前来合作。
演讲报名申请:http://elasticsearch.mikecrm.com/uXH61JL
赞助合作申请:http://elasticsearch.mikecrm.com/6LGkKK0
Elastic 中国开发者大会 2021 是由 Elastic 官方、Elastic 中文社区和极限科技联合主办的开发者大会,作为中国国内唯一一个专门讨论 Elasticsearch 开源技术的大会,是中国最权威和最具实力干货的技术大会,其专业性和内容的质量一直以来在业内都是有口皆碑,大会最早发起于 2013 年初一个很小的线下聚会,之后每年迅速成长,往年大会的演讲嘉宾有来自 Elastic 官方、百度、腾讯、阿里巴巴、360、微博、美团、58、苏宁等众多公司的技术专家,带来过众多精彩的分享,与会听众大多为大数据领域相关的架构师、技术经理与一线开发工程师和运维工程师。
我们本着非盈利目的来举办大会,今年的大会将于2022年1月8号在深圳举行,举办开发者大会的目的是为中国广大的 Elasticsearch 开发者提供一个技术交流和学习切磋的地方,汇集业界众多的成功案例,集思广益,发散思维,促进社区和行业的进步。
大会官网:https://conf.elasticsearch.cn
Elasticsearch铁粉福利:
预热-铁粉票(79元/张), 共计100张,数量有限,赶紧去报名抢购吧!
购票地址:https://www.bagevent.com/event/7899116
同时大会也在公开征集演讲议题与合作赞助商,欢迎各位Elastic相关技术大咖报名参与分享,欢迎有兴趣的赞助商金主大大前来合作。
演讲报名申请:http://elasticsearch.mikecrm.com/uXH61JL
赞助合作申请:http://elasticsearch.mikecrm.com/6LGkKK0
收起阅读 »

社区日报 第1246期 (2021-11-11)
https://blog.csdn.net/UbuntuTo ... 27926
2.运用 Fleet 来轻松地导入 Nginx 日志及指标
https://elasticstack.blog.csdn ... 43697
3.Elasticsearch 可视化管理工具 dejavu
https://github.com/appbaseio/dejavu#4-roadmap
编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://blog.csdn.net/UbuntuTo ... 27926
2.运用 Fleet 来轻松地导入 Nginx 日志及指标
https://elasticstack.blog.csdn ... 43697
3.Elasticsearch 可视化管理工具 dejavu
https://github.com/appbaseio/dejavu#4-roadmap
编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1245期 (2021-11-10)
https://zhuanlan.zhihu.com/p/384486147
2.如何在 Kibana 的 Discover 界面中让显示图片字段
https://www.bilibili.com/video/BV14P4y1L7XL/
https://elasticstack.blog.csdn ... 19074
3. 几种常见的查询性能问题及优化方式--字节:张超
https://mp.weixin.qq.com/s/w7hEn2JE9ZXUBh3kZ0uOGg
编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://zhuanlan.zhihu.com/p/384486147
2.如何在 Kibana 的 Discover 界面中让显示图片字段
https://www.bilibili.com/video/BV14P4y1L7XL/
https://elasticstack.blog.csdn ... 19074
3. 几种常见的查询性能问题及优化方式--字节:张超
https://mp.weixin.qq.com/s/w7hEn2JE9ZXUBh3kZ0uOGg
编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1244期 (2021-11-09)
https://www.compose.com/articl ... arch/
2. ES 常见的一些企业使用场景
https://ubuntu.com/blog/what-is-elasticsearch
3. ES 插件开发的极简示例
https://www.viget.com/articles ... ugin/
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://www.compose.com/articl ... arch/
2. ES 常见的一些企业使用场景
https://ubuntu.com/blog/what-is-elasticsearch
3. ES 插件开发的极简示例
https://www.viget.com/articles ... ugin/
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
收起阅读 »

社区日报 第1243期 (2021-11-07)
https://zhuanlan.zhihu.com/p/303269062
2.作业帮 PB 级低成本日志检索服务
https://www.infoq.cn/article/xyDSrOGbg6tVDVEb261O
3.多虑了?Elastic中国:我们与云厂商关系很好
https://www.163.com/dy/article ... .html
编辑:cyberdak
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://zhuanlan.zhihu.com/p/303269062
2.作业帮 PB 级低成本日志检索服务
https://www.infoq.cn/article/xyDSrOGbg6tVDVEb261O
3.多虑了?Elastic中国:我们与云厂商关系很好
https://www.163.com/dy/article ... .html
编辑:cyberdak
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1242期 (2021-11-06)
1.基于es构建影视类知识图谱
https://zhuanlan.zhihu.com/p/138094677
2.基于es实现的医学诊断系统]
https://github.com/onblog/Doctor
3.一周热点:双十一买买买防套路指南
https://baijiahao.baidu.com/s?id=1715651197791433614&wfr=spider&for=pc
1.基于es构建影视类知识图谱
https://zhuanlan.zhihu.com/p/138094677
2.基于es实现的医学诊断系统]
https://github.com/onblog/Doctor
3.一周热点:双十一买买买防套路指南
https://baijiahao.baidu.com/s?id=1715651197791433614&wfr=spider&for=pc
收起阅读 »
社区日报 第1241期 (2021-11-5)
1、kafka同步Elasticsearch 实战
https://senoritadeveloper.medi ... 6525a
2、Go语言使用Elasticsearch 指南
https://www.freecodecamp.org/n ... arch/
3、Elasticsearch 分词器介绍
https://senoritadeveloper.medi ... e163b
编辑:铭毅天下
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
1、kafka同步Elasticsearch 实战
https://senoritadeveloper.medi ... 6525a
2、Go语言使用Elasticsearch 指南
https://www.freecodecamp.org/n ... arch/
3、Elasticsearch 分词器介绍
https://senoritadeveloper.medi ... e163b
编辑:铭毅天下
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1240期 (2021-11-4)
https://zhuanlan.zhihu.com/p/146083622
2.Elasticsearch 内存占用分析及 page cache 监控
https://developer.aliyun.com/article/791498
3.使用 Ansible自动化部署 Elastic Stack
https://elasticstack.blog.csdn ... 67307
编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://zhuanlan.zhihu.com/p/146083622
2.Elasticsearch 内存占用分析及 page cache 监控
https://developer.aliyun.com/article/791498
3.使用 Ansible自动化部署 Elastic Stack
https://elasticstack.blog.csdn ... 67307
编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1239期 (2021-11-3)
https://mp.weixin.qq.com/s/Mq7wPOUmF35LhyaLqWew3Q
2. filebeat 收集 syslog 并自动归类
https://www.jianshu.com/p/de7c2e0d5767
3. Elasticsearch 快照仓库的内部结构
https://mp.weixin.qq.com/s/fDFy-i7dHQ08NhPYDMwoQw
编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://mp.weixin.qq.com/s/Mq7wPOUmF35LhyaLqWew3Q
2. filebeat 收集 syslog 并自动归类
https://www.jianshu.com/p/de7c2e0d5767
3. Elasticsearch 快照仓库的内部结构
https://mp.weixin.qq.com/s/fDFy-i7dHQ08NhPYDMwoQw
编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

【杭州衣科】聘: Elasticsearch平台高级工程师/技术专家
杭州衣科信息技术股份有限公司(https://www.hzecool.com/)是一家专注于为全产业链提供移动数字解决方案的新型软件公司。
我们的数字化解决方案,覆盖从工厂,到批发,再到零售的全链路管理,实现打通上下游,连接线上线下的全过程。
衣科开发了国内首个面向服装行业的移动应用整体解决方案——"商陆花",目前已经成为服装行业信息化领域无可争辩的领导者。2018年,衣科荣获“服装行业信息化影响力企业”奖。
在服装领域取得巨大成就之后,衣科将多年来深厚的技术积淀与服务经验,向更多行业移植,致力于把“简单.酷科技”带给更多用户。衣科又逐步推出了笑铺日记、连锁日记等多款产品。衣科的全线产品都拥有自主知识产权,并持有多项专利技术。
招聘岗位:
Elasticsearch平台高级工程师/技术专家
地点: 杭州
岗位职责:
1. 负责公司搜索、实时数据分析平台的架构设计和建设
2. 对平台的性能、稳定性、安全性、可观测性做持续性优化
3. 和业务研发部门紧密协作,针对业务搜索、实时数据统计的需求,提供数据层架构方案
任职要求:
1. 三年以上Java开发经验,扎实的编码功底,具备独立完成开发项目的能力
2. 理解Elasticsearch集群运作基本原理,对于数据写入和读取过程有清晰的了解
3. 对数据读写存在的性能瓶颈懂得如何分析和优化
4. 熟悉JAVA虚拟机,了解各类GC运作机制
5. 强烈的求知欲,喜好研读开源项目源码,了解其底层运作远离,并具备从源码层面诊断和解决生产环境的疑难杂症的能力
6. 自我驱动力强,能够主动研究新技术、新框架,并适时引入到公司内部,降本增效。
7. 良好的跨团队沟通能力,善于总结,乐于分享
有以下经验者优先考虑:
1. TB级以上Elasticsearch集群架构和维护经历
2. 基于Elasticsearch做过搜索或者数据分析产品的研发
3. 实施过基于ELK的大数据分析和可视化方案
4. 了解Clickhouse,并具备实际项目经验
联系方式:
邮件: wuxiaogang@hzecool.com
微信: kennywu76
杭州衣科信息技术股份有限公司(https://www.hzecool.com/)是一家专注于为全产业链提供移动数字解决方案的新型软件公司。
我们的数字化解决方案,覆盖从工厂,到批发,再到零售的全链路管理,实现打通上下游,连接线上线下的全过程。
衣科开发了国内首个面向服装行业的移动应用整体解决方案——"商陆花",目前已经成为服装行业信息化领域无可争辩的领导者。2018年,衣科荣获“服装行业信息化影响力企业”奖。
在服装领域取得巨大成就之后,衣科将多年来深厚的技术积淀与服务经验,向更多行业移植,致力于把“简单.酷科技”带给更多用户。衣科又逐步推出了笑铺日记、连锁日记等多款产品。衣科的全线产品都拥有自主知识产权,并持有多项专利技术。
招聘岗位:
Elasticsearch平台高级工程师/技术专家
地点: 杭州
岗位职责:
1. 负责公司搜索、实时数据分析平台的架构设计和建设
2. 对平台的性能、稳定性、安全性、可观测性做持续性优化
3. 和业务研发部门紧密协作,针对业务搜索、实时数据统计的需求,提供数据层架构方案
任职要求:
1. 三年以上Java开发经验,扎实的编码功底,具备独立完成开发项目的能力
2. 理解Elasticsearch集群运作基本原理,对于数据写入和读取过程有清晰的了解
3. 对数据读写存在的性能瓶颈懂得如何分析和优化
4. 熟悉JAVA虚拟机,了解各类GC运作机制
5. 强烈的求知欲,喜好研读开源项目源码,了解其底层运作远离,并具备从源码层面诊断和解决生产环境的疑难杂症的能力
6. 自我驱动力强,能够主动研究新技术、新框架,并适时引入到公司内部,降本增效。
7. 良好的跨团队沟通能力,善于总结,乐于分享
有以下经验者优先考虑:
1. TB级以上Elasticsearch集群架构和维护经历
2. 基于Elasticsearch做过搜索或者数据分析产品的研发
3. 实施过基于ELK的大数据分析和可视化方案
4. 了解Clickhouse,并具备实际项目经验
联系方式:
邮件: wuxiaogang@hzecool.com
微信: kennywu76 收起阅读 »

社区日报 第 1238 期 (2021-11-02)
https://sematext.com/blog/solr ... nces/
2. Elastic beats 介绍以及他们在ELK中的适用场景
https://www.instaclustr.com/el ... tack/
3. Elasticsearch 词频统计的四种方案
https://mp.weixin.qq.com/s/S4AMVWIoNT4ZFKGs1biNnQ
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
https://sematext.com/blog/solr ... nces/
2. Elastic beats 介绍以及他们在ELK中的适用场景
https://www.instaclustr.com/el ... tack/
3. Elasticsearch 词频统计的四种方案
https://mp.weixin.qq.com/s/S4AMVWIoNT4ZFKGs1biNnQ
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1236期 (2021-10-31)
1. Elastic 社区大会2021: Elasticsearch和GraphQL的一封情书-哔哩哔哩
https://b23.tv/aQvRUK
2.使用 Elastic Stack 构建 Kubernetes 全栈监控
https://mp.weixin.qq.com/s/4GAIYiEQocayDFPHAOuU1A
3.Elastic APM监控Springboot程序
https://mp.weixin.qq.com/s/h95uxsVxs6ybTorsfzmF-w
编辑:cyberdak
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
1. Elastic 社区大会2021: Elasticsearch和GraphQL的一封情书-哔哩哔哩
https://b23.tv/aQvRUK
2.使用 Elastic Stack 构建 Kubernetes 全栈监控
https://mp.weixin.qq.com/s/4GAIYiEQocayDFPHAOuU1A
3.Elastic APM监控Springboot程序
https://mp.weixin.qq.com/s/h95uxsVxs6ybTorsfzmF-w
编辑:cyberdak
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

社区日报 第1235期 (2021-10-30)
1.基于elasticsearch的KBQA实现及示例
http://openkg.cn/tool/elasticsearch-kbqa
2.ElasticSearch 处理自然语言流程
https://www.cnblogs.com/yisany/p/10292049.html
3.一周热点:新冠疫苗加强针开打,你关心的五个问题都有回应了
1.基于elasticsearch的KBQA实现及示例
http://openkg.cn/tool/elasticsearch-kbqa
2.ElasticSearch 处理自然语言流程
https://www.cnblogs.com/yisany/p/10292049.html
3.一周热点:新冠疫苗加强针开打,你关心的五个问题都有回应了
https://www.thepaper.cn/newsDetail_forward_15049026
收起阅读 »
ES容灾技术探讨和测试
ES灾备技术调研
早就听说极限网关了,最近有个ES要做灾备,就搜集了下技术方案:
-
应用双写两个集群
-
跨集群复制CCR
- 极限网关
三个方案的优缺点我也简单整理了下:
-
优点:自主研发,想怎样就怎样;缺点:难,水平、时间都是成本
-
优点:实施简单;缺点:需要license
- 优点:部署灵活,功能齐全;缺点:不熟悉,没用过
貌似方案 3,比较理想。不熟悉,那就多用用,测试测试找找感觉。
测试环境 笔记本
主集群:A | 7.14.1 | 10.0.2.15:9214 | Rbac+tls | 节点数:1 |
---|---|---|---|---|
备集群:B | 7.13.2 | 10.0.2.15:9213 | Rbac+tls | 节点数:2 |
极限网关 | 1.3.0 | 0.0.0.0:8000 | tls | 实例数:1 |
网关下载
先下载极限网关:http://release.elasticsearch.cn/gateway/snapshot/
解压后,可看到有几个预定义的配置,方便大家快速上车。
网关配置
这次是做灾备,应该就是在 dc-replica.yml的基础上改比较妥当,配置还是比较多的 300多行,很多都是为了保证两个集群数据一致性,解耦啥的做的判断和写队列之类的设置。我只修改了 elasticsearch资源的定义信息,还有网关也可选择tls,不用手工生成证书,非常方便。
贴下我修改的地方
启动网关
两个集群都是 available ,说明连接应该ok
测试场景:围绕主备集群之间数据复制展开
1. 主备集群间复制创建、写入、删除索引操作
目的:对网关(A集群)创建索引test,对test索引写文档,能自动同步到B集群
初始情况A、B无test
手工put test索引到网关
A,B集群都创建成功用loadgen写点文档进去吧,loadgen直接写网关
都10000条写入成功,如果查看是0的话,先refresh下索引
看下文档
简单校验一下
感觉没问题,删点文档看看,把那23个删了吧
再看看
更新524个文档看看
增、删、改 完事
2. 主集群故障的处理和恢复
目的:主集群故障后,网关如何处理收到的请求:读、写
Kill 掉 A 集群,模拟主集群故障
网关直接有报错说连不上A集群
此时对网关查询、写入数据都会报错
重新启动主集群后,一切正常
3. 备集群故障的处理和恢复
目的:备集群故障,读、写主集群不受影响,备集群恢复后,自动追数据直到两边数据一致
Kill 掉B集群,网关报错,B集群无法连接
对A集群进行写入一个新文档,并查询下
启动B集群,查看,已自动添加了新的文档
4. 主集群容灾切换
目的:主集群故障,短时间不可用,网关切换指向备集群作为主集群,A集群作为备集群;待A集群恢复后,自动追数据
KILL A 集群 模拟A集群故障
Kill 网关,切换配置:
启动网关,B是主了,available
写B集群,删除前面创建的 test 索引,新建test2索引,并插入文档
启动A集群,检查数据,有test2索引,且文档一致
5. 主集群故障恢复后,网关回切
目的:假设A集群已经完全恢复,网关回切,A集群为主,B集群为备
Kill网关,恢复配置,再启动网关
再次测试写入test2 检查能否同步成功
写网关
查看A集群
查看B集群
两个集群数据一致,主备角色也恢复到最初了
**测试环境变更
中间工作比较忙,中断了测试,也就十来天吧
不成想 网关更新了,我就下了新版本的gateway和ES-7.15.1 继续捣鼓
环境 笔记本
主集群:es-751primary | 7.15.1 | 10.0.2.15:7151 | No:Rbac、tls | 节点数:1 |
---|---|---|---|---|
备集群:es-751backup | 7.15.1 | 10.0.2.15:7152 | No:Rbac、tls | 节点数:1 |
极限网关 | 场景6:1.4.0场景7:1.5.0 | 0.0.0.0:8000 | No:tls | 实例数:1 |
网关不光版本升级了,配置文件也稍稍有些变化,新版本示例配置如下
本着不会就猜的原则,我还是能做到见名之知意的
我仅仅对 cross-cluster-replication.yml 做了简单的修改,就是和前面一样
6. ES由代理暴露的能否正常工作
目的:检验,比如由nginx代理ES的时候,网关能否正常工作
使用 nginx 代理后端的ES
80-->primary
81-->backup
测试下反向代理工作是否正常
启动网关,网关里elasticsearch资源指向nginx,没错就改了下 url
开始测试,增删改查 once more,还是对着网关操作
创建索引
PUT 文档
抄家伙
看看数量
简单对比下
给 code为500的文档增加一个字段 new_field直接通过代理查询,检验数据
没问题,测试删除
删除单条
批量删除
看看结果
删除索引,并确认真的删除
关调backup集群,然后primary集群创建索引后,再启动backup集群,看能否自动追平
创建test2索引
顺手put个文档
Primary上查看
OK 启动backup
妈的 奇迹
7. 请求压缩功能如何
目的:看看客户端和网关分别在不同的请求压缩配置下,是否工作正常
在网关的配置中,看到了 compress 压缩,也设计几个场景测试下
网关配置里面有个压缩的配置,意思是消费线程往ES发送请求的时候是否启用gzip压缩。
默认是 true
7.1 用压缩的方式写网关,但网关不启用压缩
我们把网关配置中的true改成false
启动网关
开始写数据,写的过程中,随机停止backup集群,等待一会儿后再启动
网关可看到 backup集群,从不可用到可用
看看网关的队列情况,这时候backup队列应该堆积了不少请求
等待队列被消费完后,我们对比数据。
简单看看文档条数
用网关对比下数据看看
妥妥的一致
7.2 用压缩的方式写网关,网关也启用压缩
就把前面网关贴图的false改成true
启动网关
压缩写入
写入过程中,随机重启backup集群
网关日志
等待网关backup队列消费完毕,后对比数据
没得问题,下一场
7.3 用不压缩的方式写网关,网关也不启用压缩
网关配置compress: false,后启动网关
不压缩请求
中途随机重启backup集群
队列消费完后对比数据
数据一致
7.4 用不压缩的方式写网关,网关backup队列的消费线程使用压缩
写入过程中,停止backup集群,稍等一会儿后启动backup集群
观察网关的backup 队列情况
等消费完之后,我们对比数据
数量一致
用网关来对比下两个集群的test索引的数据
至此,关于跨集群复制的场景测试可以告一段落了,功能大家也看到了确实强大,部署也很灵活,对环境无侵入,直接把应用连接ES的地址、端口改下就行。或者网关直接监听9200端口,替换原有的协调节点,应用无感知。
此外,极限网关还有很多别的使用场景和激动人心的功能,像在线修改查询、请求限流、请求流量分析,这都是保障ES集群稳定运行的手段。
看到一款国产软件如此强大很欣慰,很激动。希望各位感兴趣的小伙伴也下载测试下自己的场景,我们ES圈(论坛)多交流交流。让我也看看你们的场景和测试是怎样的。
最后一个图,我也不知道咋回事,请忽略。
ES灾备技术调研
早就听说极限网关了,最近有个ES要做灾备,就搜集了下技术方案:
-
应用双写两个集群
-
跨集群复制CCR
- 极限网关
三个方案的优缺点我也简单整理了下:
-
优点:自主研发,想怎样就怎样;缺点:难,水平、时间都是成本
-
优点:实施简单;缺点:需要license
- 优点:部署灵活,功能齐全;缺点:不熟悉,没用过
貌似方案 3,比较理想。不熟悉,那就多用用,测试测试找找感觉。
测试环境 笔记本
主集群:A | 7.14.1 | 10.0.2.15:9214 | Rbac+tls | 节点数:1 |
---|---|---|---|---|
备集群:B | 7.13.2 | 10.0.2.15:9213 | Rbac+tls | 节点数:2 |
极限网关 | 1.3.0 | 0.0.0.0:8000 | tls | 实例数:1 |
网关下载
先下载极限网关:http://release.elasticsearch.cn/gateway/snapshot/
解压后,可看到有几个预定义的配置,方便大家快速上车。
网关配置
这次是做灾备,应该就是在 dc-replica.yml的基础上改比较妥当,配置还是比较多的 300多行,很多都是为了保证两个集群数据一致性,解耦啥的做的判断和写队列之类的设置。我只修改了 elasticsearch资源的定义信息,还有网关也可选择tls,不用手工生成证书,非常方便。
贴下我修改的地方
启动网关
两个集群都是 available ,说明连接应该ok
测试场景:围绕主备集群之间数据复制展开
1. 主备集群间复制创建、写入、删除索引操作
目的:对网关(A集群)创建索引test,对test索引写文档,能自动同步到B集群
初始情况A、B无test
手工put test索引到网关
A,B集群都创建成功用loadgen写点文档进去吧,loadgen直接写网关
都10000条写入成功,如果查看是0的话,先refresh下索引
看下文档
简单校验一下
感觉没问题,删点文档看看,把那23个删了吧
再看看
更新524个文档看看
增、删、改 完事
2. 主集群故障的处理和恢复
目的:主集群故障后,网关如何处理收到的请求:读、写
Kill 掉 A 集群,模拟主集群故障
网关直接有报错说连不上A集群
此时对网关查询、写入数据都会报错
重新启动主集群后,一切正常
3. 备集群故障的处理和恢复
目的:备集群故障,读、写主集群不受影响,备集群恢复后,自动追数据直到两边数据一致
Kill 掉B集群,网关报错,B集群无法连接
对A集群进行写入一个新文档,并查询下
启动B集群,查看,已自动添加了新的文档
4. 主集群容灾切换
目的:主集群故障,短时间不可用,网关切换指向备集群作为主集群,A集群作为备集群;待A集群恢复后,自动追数据
KILL A 集群 模拟A集群故障
Kill 网关,切换配置:
启动网关,B是主了,available
写B集群,删除前面创建的 test 索引,新建test2索引,并插入文档
启动A集群,检查数据,有test2索引,且文档一致
5. 主集群故障恢复后,网关回切
目的:假设A集群已经完全恢复,网关回切,A集群为主,B集群为备
Kill网关,恢复配置,再启动网关
再次测试写入test2 检查能否同步成功
写网关
查看A集群
查看B集群
两个集群数据一致,主备角色也恢复到最初了
**测试环境变更
中间工作比较忙,中断了测试,也就十来天吧
不成想 网关更新了,我就下了新版本的gateway和ES-7.15.1 继续捣鼓
环境 笔记本
主集群:es-751primary | 7.15.1 | 10.0.2.15:7151 | No:Rbac、tls | 节点数:1 |
---|---|---|---|---|
备集群:es-751backup | 7.15.1 | 10.0.2.15:7152 | No:Rbac、tls | 节点数:1 |
极限网关 | 场景6:1.4.0场景7:1.5.0 | 0.0.0.0:8000 | No:tls | 实例数:1 |
网关不光版本升级了,配置文件也稍稍有些变化,新版本示例配置如下
本着不会就猜的原则,我还是能做到见名之知意的
我仅仅对 cross-cluster-replication.yml 做了简单的修改,就是和前面一样
6. ES由代理暴露的能否正常工作
目的:检验,比如由nginx代理ES的时候,网关能否正常工作
使用 nginx 代理后端的ES
80-->primary
81-->backup
测试下反向代理工作是否正常
启动网关,网关里elasticsearch资源指向nginx,没错就改了下 url
开始测试,增删改查 once more,还是对着网关操作
创建索引
PUT 文档
抄家伙
看看数量
简单对比下
给 code为500的文档增加一个字段 new_field直接通过代理查询,检验数据
没问题,测试删除
删除单条
批量删除
看看结果
删除索引,并确认真的删除
关调backup集群,然后primary集群创建索引后,再启动backup集群,看能否自动追平
创建test2索引
顺手put个文档
Primary上查看
OK 启动backup
妈的 奇迹
7. 请求压缩功能如何
目的:看看客户端和网关分别在不同的请求压缩配置下,是否工作正常
在网关的配置中,看到了 compress 压缩,也设计几个场景测试下
网关配置里面有个压缩的配置,意思是消费线程往ES发送请求的时候是否启用gzip压缩。
默认是 true
7.1 用压缩的方式写网关,但网关不启用压缩
我们把网关配置中的true改成false
启动网关
开始写数据,写的过程中,随机停止backup集群,等待一会儿后再启动
网关可看到 backup集群,从不可用到可用
看看网关的队列情况,这时候backup队列应该堆积了不少请求
等待队列被消费完后,我们对比数据。
简单看看文档条数
用网关对比下数据看看
妥妥的一致
7.2 用压缩的方式写网关,网关也启用压缩
就把前面网关贴图的false改成true
启动网关
压缩写入
写入过程中,随机重启backup集群
网关日志
等待网关backup队列消费完毕,后对比数据
没得问题,下一场
7.3 用不压缩的方式写网关,网关也不启用压缩
网关配置compress: false,后启动网关
不压缩请求
中途随机重启backup集群
队列消费完后对比数据
数据一致
7.4 用不压缩的方式写网关,网关backup队列的消费线程使用压缩
写入过程中,停止backup集群,稍等一会儿后启动backup集群
观察网关的backup 队列情况
等消费完之后,我们对比数据
数量一致
用网关来对比下两个集群的test索引的数据
至此,关于跨集群复制的场景测试可以告一段落了,功能大家也看到了确实强大,部署也很灵活,对环境无侵入,直接把应用连接ES的地址、端口改下就行。或者网关直接监听9200端口,替换原有的协调节点,应用无感知。
此外,极限网关还有很多别的使用场景和激动人心的功能,像在线修改查询、请求限流、请求流量分析,这都是保障ES集群稳定运行的手段。
看到一款国产软件如此强大很欣慰,很激动。希望各位感兴趣的小伙伴也下载测试下自己的场景,我们ES圈(论坛)多交流交流。让我也看看你们的场景和测试是怎样的。
最后一个图,我也不知道咋回事,请忽略。
收起阅读 »