elasticsearch相关
文章平均质量分 56
ES相关的分享
予你成诗
有人说,学习是一种信仰
展开
-
开发错误总结之---循环创建ES批处理客户端造成的OOM异常
刚刚在整理之前的帖子挪到知乎的时候,整理到了批处理客户端的帖子,突然想起来,去年的七月份,我第一次用这个批处理客户端,当时在生产上大约一周多点点,运维告诉我程序出异常了,出现了OOM异常OOM异常,out of memory,内存溢出当时觉得很奇怪,用了各种办法,手动提醒GC,用完的集合清空等等,都没用,且本地不复现后来,本地测试的时候,我用Jconsole查看了一下程序的运行时状况,我发现线程数一直在涨,一直再涨,没有降过,并且涨的很离谱于是我运行了别的程序,发现线程数稳定在120-190原创 2021-05-24 07:32:34 · 515 阅读 · 1 评论 -
开发错误总结之---elasticsearch中使用_id在别命中查找时无法查找的错误
前几天和运维聊了聊,我去年做过的一个订单查询目前有些问题,我也发现了这个问题,问题很简单我们是一个大的ES集群,配置也比较简单,256G内存/台*9台,目前配置暂时够用生产环境上ES的订单量从19年到现在,已经累积了几个亿,占用的磁盘空间,也是以 T 为单位,这都不是最恐怖的,最恐怖的是,这几个亿的订单,0分片,0副本,你用ES的话,应该知道这是多么恐怖的事情大量的搜索都集中在那个索引库上,且这个索引库数量巨大,还是单点,这就意味着这个库的压力十分大,官方推荐占用超过50G就进行分片存储,我们早原创 2021-05-21 07:43:57 · 227 阅读 · 1 评论 -
elasticsearch增加鉴权后的连接方式
elasticsearch就不用介绍了,我们可以通过官方提供的API进行连接,但是呢,为了安全起见,很多使用者都会对ES启用安全策略,设置用户和密码这个时候如果按照以往的配上IP端口直接去连接,会给你响应一个 401 ,告诉你你没权限,可以这么写......原创 2021-05-18 21:46:22 · 647 阅读 · 0 评论 -
Elasticsearch数据迁移及注意事项(Elasticsearch索引库别名_aliases)
上一篇说了对ES的index迁移的方式,这篇来讲一下具体怎么迁移既然要迁移,那就得考量对已有业务的影响,为了避免对已有业务的影响,这里提供介绍一种方式,ES别名 _aliases别名说起来很简单,就像一个代号,比如你叫小明(是不是好久没接触过这个名字了~),在你的公司,你的代号就叫开发,我一喊开发,你就知道喊你,某一天,你转岗了,干了测试,来了新的人接替你之前的岗位,于是乎,大家又喊你小明,而新来的接替你工作的人,就接替了“开发”这个代号,我一喊开发,他就知道是在叫他,如果我是领导,我并不关心.原创 2021-03-04 11:17:56 · 1145 阅读 · 3 评论 -
Elasticsearch索引库迁移(索引库备份、重建索引)
前一段时间呢,遇到点问题,就是生产上某个索引库累积了 T 为单位的数据,且这个索引库是单点的.........对没错,这个索引库没有分片没有副本(因为当时上线太着急,没来得及设置,后期已经不能再加了)所以这个单点问题必须处理,毕竟是以T为单位的,万一索引库挂了,容易造成这个Elasticsearch集群节点的离线,这要是节点离线了,可能会对其他节点以及索引库造成不可预知的影响,毕竟其他索引库在这个节点上也是有分片和副本的....有这么几个处理方案:1、使用策略 占用多大空间时就自动开..原创 2021-03-04 10:13:45 · 767 阅读 · 1 评论 -
Elasticsearch的滚动查询---Scroll,解决ES每次最多查一万笔数据的问题
接上篇,我们构造各种条件,可以进行各种查询,找到满足我们需求的数据,但是如果数据量大,不知道大家发现一个问题没,那就是你getHits,只能get到一万,一万之后的没办法,那是因为普通的搜索只能支持到这里......不懂?那这么讲吧,咱们之前用的搜索,相当于MySQL的limit,这种分页,数据量少的话怎么玩都行,但是如果量大呢,比如我现在十个亿数据,你在ES给我分个页试试,你分页的前提是都查出来,排序,全都怼在内存了,大哥,你内存是多大啊,现在明白为啥之前那种搜索只能取出一万数据了吧当然了,ES既原创 2020-08-11 15:47:11 · 9336 阅读 · 2 评论 -
来啦来啦,今天本菜鸡来分享Elasticsearch的搜索(下次分享ES的滚动搜索Scroll)
咳咳,时隔一天,我终于又来分享了大家应该都知道,Elasticsearch搜索快对吧,所以,我们在java里需要一个办法去执行这个搜索,也就是查询上API~SearchRequest searchRequest = new SearchRequest("索引名");//构建搜索条件SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();searchSourceBuilder.query(QueryBuilders.m原创 2020-08-09 07:36:37 · 170 阅读 · 2 评论 -
接上篇,Elasticsearch的批量处理,BulkProcessor (下篇讲搜索~)
接上篇,Elasticsearch的批量处理,BulkProcessor上一篇说到,批量处理,Bulk有它的弊端,是什么呢?那就是Bulk虽然可以批量处理,比如批量插入,但是Bulk它没有限制,不知道你有没有想到什么?好吧,用大白话说就是,你给Bulk塞多少请求,多少数据,他就一次给你写进去多少,你给100条数据,这100条就一起写入,你给十万,他就一下写十万,明白这个多恐怖了吧,一下写入太多,ES也扛不住啊!解决方案:1、在业务中限制放入Bulk的数量,这个在某些场景是OK的,但是如果..原创 2020-08-08 10:03:35 · 3372 阅读 · 0 评论 -
Elasticsearch7.8.0基本API、批量处理Bulk(下篇讲BulkProcessor )
哈~ Elasticsearch就不用过多介绍了吧,咱们直接将重点,不讲概念楼主是个菜鸡,之前的项目里要用到Elasticsearch,经过楼主和架构的一番苦战、撕逼,终于,还是屈服于架构,弃用6.5版本,选用了最新版的7.8.0讲真的,很痛苦的,那会可是全网都找不到这个版本的教程啊,官网的也不是很清楚,我被折磨了好久才搞定好好好,放下你的砖头,我说我说!!!!由于楼主用的时候,spring还没整合7.8.0的ES,所以楼主用的原生ES,建议如果spring没有整合,不要强制指定版本,因为.原创 2020-08-08 09:43:00 · 2975 阅读 · 0 评论