1:es集群脑裂问题(不要用外网ip,节点角色不要混用)

原因1:阿里云服务器,外网有时候不稳定。

解决方案:单独采购服务器,内网安装

原因2:master和node节点没有分开

解决方案:

分角色:master节点(三台),data节点(随着数据增加而增加),client(随着查询压力而增加)节点

Master节点:node.master: true   node.data: false

Data节点:node.master: false   node.data: true

Client 节点:node.master: false   node.data: false

2:es集群名称的坑(1.4.x版本)

之前在使用1.4版本的时候,这个版本默认是多播协议,可以自动把同一网段的es节点组成一个集群。

所以,在刚开始使用的时候,多种业务部署了多个es集群,结果发现这几个集群莫名其妙搞到一块了。

建议:尽量不要使用集群的默认名称。

不过在2.x的版本中已经默认开启单播协议,不会自动增加同一网段的节点到一个集群。但是也建议修改一下集群名称,改完之后,如果使用java api进行操作,则必须设置cluster.name属性。

3:数据平衡,数据恢复(recover)

假设一个有10个节点的集群。

当重启集群的时候,在启动第二个节点的时候,集群之内的两个节点就开始恢复数据,相互生成副本,当启动第三个节点的时候,这三个节点又重新对数据进行恢复...........

这样非常浪费性能,导致在启动集群的过程当中,做了很多无用功,所以可以设置,当启动集群中5~6个节点的时候再允许进行数据恢复。

建议设置为集群节点数量的一半以上。

gateway.recover_after_nodes: 5

还有一点:es集群要使用内网ip,否则会出现数据恢复缓慢的现象。

4:定时优化索引片段很重要

开始的时候,没有对索引片段进行优化,查询延迟在3S以上,索引优化之后,延迟时间立刻降到1S以内。

5:内存溢出

修改elasticsearch.in.sh脚本

Master节点内存占用不多,CPU稍微高一点。

Data节点内存占用比较多,io操作比较频繁

Client:CPU和内存占用比较平均

6:集群插入数据报错

集群状态为yellow,索引副本数设置为2,但是只有一个节点存活,也就是没有产生副本。插入数据时报错。

7:设置jvm锁住内存时启动警告

当设置bootstrap.mlockall: true时,启动es报警告Unknown mlockall error 0,因为linux系统默认能让进程锁住的内存为64k。

解决方法:设置为无限制,linux命令:ulimit -l unlimited(立刻生效)

或者修改/etc/security/limits.conf(下一次重启开始,永久有效)文件

8:elk中,redis中数据堆积严重

调整logstash内存,使用批量方式向es中索引数据。

9:横向扩展es集群,不要纵向扩展

单纯增加es节点的内存和CPU不会有很大提升,建议多增加节点。

10:目前es集群部署情况

Master:3台(4 core ,16G内存,500G)

192.168.1.20

192.168.1.21

192.168.1.22

Data:8台(4 core 32G内存,2x1T)

192.168.1.31

192.168.1.32

192.168.1.33

192.168.1.34

192.168.1.35

192.168.1.36

192.168.1.37

192.168.1.38

Client:3台(4 core,32G,500G)

192.168.1.10

192.168.1.11

192.168.1.12

11、后续更新

es单条插入失败_Elasticsearch之es学习工作中遇到的坑(陆续更新)相关推荐

  1. 【ROS学习】- tf学习 - tf中重要函数解析 (陆续更新....)

    文章目录 一.函数waitForTransform().lookupTransform() 具体解释 二.函数 tf::StampedTransform().sendTransform() 具体解释 ...

  2. 【学习react中遇到的坑:内存泄漏报错】

    学习react中遇到的坑:内存泄漏报错 对就是这个错误 Can't perform a React state update on an unmounted component. This is a ...

  3. es统计mysql 报表_Elasticsearch(简称ES)实现日报表、月报表、年报表统计,没数据补0...

    前言: 这是1张相对简单些报表示例,用sql语句也能实现,但主要是为了便于大家理解ES聚合实现报表的使用方法. 之前写过"java实现日报表.月报表统计,没数据补0"文章,http ...

  4. git 版本控制器 初学习,工作中的问题及其解决方法

    one  day 1.  下载安装git控制器 >>>>>>(测试环境 window10)Git下载地址https://git-scm.com/downloads ...

  5. 学习linux中踩的坑,踩踩Linux命令中的那些坑

    expr的坑 expr 是用来对数值进行计算的命令,命令的前后参数需要用空格隔开 [root@localhost ~]# whatis expr expr (1) – evaluate express ...

  6. 学习工作中的心态调整(不比钱)

    今天在一场针对大三学生的教学安排活动后,一位同学提出了一个问题:"目前嵌入式开发的人员招聘中,研究生和本科生的待遇能相差多少?" 如果要给一个统计数据,那一定是可以找到的,一起参加 ...

  7. lightgbm 保存模型 过大_LightGBM如何进行在线学习工作中每天都会有数据更新以及增量数据,重新训练开销显然太大如何解决?...

    lightGBM 和 xgboost 都是 gbdt 的实现,下面以 xgboost 为例说明算法原理和增量学习的利弊. 首先,xgboost 的标准实现是每一棵数的构建都对全量数据进行拟合,而增量学 ...

  8. 不知名大牛二十六个月Android学习工作总结(整理)

    原文的阅读笔记: 1.客户端功能,UI界面比逻辑功能更花时间,写代码前的思考可以事半功倍 Tips:思考时在本子上简单画画UI的草图,谢谢该功能的运行过程 2.沉淀知识库:储备工具类.各种UI组件等 ...

  9. es查询所欲_Elasticsearch基本查询总结

    Elasticsearch是一个分布式文档存储.Elasticsearch不会将信息存储为列数据的行,而是存储已序列化为JSON文档的复杂数据结构.当集群中有多个Elasticsearch节点时,存储 ...

  10. es match 查询时间段_elasticsearch 笔记二 之基础查询

    这一篇笔记介绍几种 es 的基础查询,非聚合查询. 目录如下: 数据导入 排序查询 es 中的 limit 和offset 匹配字符串 匹配词组 数字精确查找 es 中的或与非 es 中的大小于过滤 ...

最新文章

  1. 单片机与微处理器和微型计算机的关系,微处理器、CPU、微处理机、微机、单片机它们之间有何区别?...
  2. next_permutation(,)用法
  3. 在kde中让gvim自动最大化
  4. 图解RxJava2(一)
  5. [发布]Quartz.NET 示例程序:企业调度器 V0.2 源代码
  6. js 中继承常用的几种方法
  7. 快手-中科大最新研究:利用对话式推荐解决用户冷启动问题
  8. double 四舍五入保留一定的位数
  9. C++(STL):25 ---序列式容器stack源码剖析
  10. 如何跟成功的男人谈恋爱?
  11. daterangepicker日历插件使用参数注意问题
  12. 极客空间-MySQL实战45天-第二天
  13. javascript Date format(js日期格式化)
  14. dmp文件导入 Oracle 步骤
  15. Windows 7提示数据错误 循环冗余检查怎么办?
  16. 车金融|金融产品规则引擎的前世今生(下篇)
  17. QT 如何去除QListView选中item后的虚线框
  18. UI设计中按钮如何设计,常见的按钮设计类型
  19. ubuntu密码忘记了怎么办
  20. 世界上各个国家和首都

热门文章

  1. 与时俱进 挪威央行运用大数据预测经济情况
  2. spring多数据源配置,实现读写分离
  3. 微软职位内部推荐-Senior Engineering Lead
  4. 数据库文件备份与恢复案例
  5. uni-app uniCloud 前端操作数据库 模糊查询
  6. 使用express重构博客项目
  7. C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编
  8. Go新手上路(时不时更新)
  9. PHP中cURL的curl_getinfo函数返回的CURLINFO_HTTP_CODE是0
  10. VirtualBox安装MACOSX 10.13虚拟机的增强功能