首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
ElasticStack系列之十 & 生产中的问题与解决方案
】的更多相关文章
ElasticStack系列之十 & 生产中的问题与解决方案
1. 由 gc 引起节点异常 问题: 因为 gc 时会使 jvm 停止工作,如果某个节点 gc 时间过长,master ping 3次(zen discovery默认 ping 失败重试 3 次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配. 解决方法: 1. 优化gc,减少gc时间. 2. 调大zen discovery 的重试次数(es参数:ping_retries)和超时时间(es参数:ping_timeout) 后来发现根本原因是有个节点的系统所在硬盘满了.导致系统性能下降.…
ElasticStack系列之十六 & ElasticSearch5.x index/create 和 update 源码分析
开篇 在ElasticSearch 系列十四中提到的问题即 ElasticStack系列之十四 & ElasticSearch5.x bulk update 中重复 id 性能骤降,继续这个问题再继续查看更加多的源代码,看看底层在执行 index.create 和 update 操作到底有什么不同,有什么可以使得我们使用性能更加好的. 准备 使用 Intellij IDEA 来阅读 ElasticSearch 源码,操作相对来说比较简单.具体操作步骤如下: 1. 下载 ElasticSearch…
ElasticStack系列之十四 & ElasticSearch5.x bulk update 中重复 id 性能骤降
目前在绝对多数公司在使用 ElasticSearch 将其当做数据库使用,将多个数据库中的数据同步到 ElasticSearch 索引是非常常见的应用场景.那么自然而然就会涉及到数据频繁的新增和更新,而官方的文档并没有对 update 的底层机制做特别说明,而当我们从 2.x 版本升级到 5.x 发现反而比之前的性能差很多,那这到底是怎么回事呢? 问题描述 在 ElasticSearch5.x 里通过 bulk update 将数据从数据库同步到 ElasticSearch,如果短时间更新的一批…
ElasticStack系列之十八 & ElasticSearch5.x XPack 过期新 License 更新
摘要 当你某一天打开 Kibana 对应的 Monitoring 选项卡的时候,发现提示需要下载新的 license,旧的 license 已经过期了,试用期为30天,如果不是很需要其他的复杂监控.报警功能,只是需要一些简单的节点监控.索引监控和搜索监控等,那么只需要选择第一个 common 选项点击下载对应的新的 license,有效期为 1 年:第二个选项为 企业级,这个是需要收费的,一般我们也不会选择这个,今天我要说的也不是这个选项,故忽略掉. 下载的时候,会跳入到对应的官方网站上,需要你…
ElasticStack系列之十五 & query cache 引起性能问题思考
问题描述 一个线上集群,执行的 Query DSL 都是一样的,只是参数不同.统计数据显示 98% ~ 99% 的查询相应速度都很快,只需要 4 ~ 6ms,但是有 1% 左右的查询响应时间在 100ms ~ 200ms 之间.集群硬件配置较高,使用的是 SSD 硬盘,系统可用内存远高于索引所使用内存总和的 2 倍,并且线上已经运行有一段时间了,数据也不存在是否已经预热的问题. 诊断过程 首先,通过监控系统排出集群所有关键数据,未发现任何可能引起查询耗时高的性能瓶颈问题.因此初步怀疑就是有查询本…
ElasticStack系列之十二 & 搜索结果研究
问题 使用 ElasticSearch 做搜索 时,比如用户输入 --> 柠檬,搜出来的结果 --> 柠檬汽水,柠檬味牙膏等在前面,真正想要的水果那个 柠檬 在后面.已经在中文分词中加了 柠檬,还是不管用,正常来说 tf.idf 都一样,影响排序的只有 field norms.按道理 “柠檬” 的 field length 最短,那么得分应该最高才对,为什么它没有排在第一位呢? 我这里补充一下:ElasticSearch5.x 以后使用的相关度算法为 BM25,但他仍然是一种相关性算法,只是对…
ElasticStack系列之十九 & bulk时 index 和 create 的区别
区别: 两篇文章 id 都一样的情况下,index 是将第二篇文章覆盖第一篇:create 是在第二篇插入的时候抛出一个已经存在的异常 解释: 在批量请求的时候最好使用 create 方式进行导入.假如你批量导入一个大小为500MB 的文件,中途突然网络中断,可能其中有5万条数据已经导入,那么第二次尝试导入的时候,如果选用 index 方式,那么前5万条数据又会重复导入,增加了很多额外的开销,如果是 create 的话,elasticsearch 针对 bulk 操作机制是忽略已经存在的(当然在…
webpack4 系列教程(十二):处理第三方JavaScript库
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十二):处理第三方 JavaScript 库>原文地址.或者来我的小站看更多内容:godbmw.com 0. 课程介绍和资料 >>>本节课源码 >>>所有课程源码 本节课的代码目录如下: 本节课的package.json内容如下: { "dependencies": { "jquery": "^3.3.1"…
Dubbo学习系列之十六(ELK海量日志分析框架)
外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索与分析产品,搜索软件公司 Elastic 上市了!首日市值翻倍!Elastic 从小工具「逆袭」成为上市公司,依靠其技术影响者众多企业,并促进整个行业发展的模式变革,向众多渴望创业的程序员证明了一个道理:技术创业是可行的,并且有着良好的前景.你要不要试试呢? 准备: Idea2019.03/Grad…
Dubbo学习系列之十二(Quartz任务调度)
Quartz词义为"石英"水晶,然后聪明的人类利用它发明了石英手表,因石英晶体在受到电流影响时,它会产生规律的振动,于是,这种时间上的规律,也被应用到了软件界,来命名了一款任务调度框架--Quartz.现实软件逻辑中,周期任务有着广泛的存在,如定时刷新配置信息,定期盘点库存,定时收发邮件等,至于定时任务处理,也有Spring的ScheduledThreadPool,还有基于注解@Scheduled的方式,ScheduledThreadPool主要是基于相对时间,不方便控制,而@Sche…