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、后续更新

Elasticsearch之es学习工作中遇到的坑(陆续更新)的更多相关文章

  1. linux工作中遇到的问题总结---更新中

    今天这个,严格来说不算一篇文章,我只想把我工作中遇到的问题分享给大家,让大家少犯错误. 1.安装rmp包时出现错误 :header V3 DSA signature: nokey ,key id .. ...

  2. Appium学习实践(五)遇到的坑(记录自己工作中遇到的坑以及解决方案,不定时更新)

    1.错误截图,有时候测试用例执行错误的话,相对于复杂的log,一张错误截图也许能更明确哪里出的问题(当然有时,截图+log还是最好了) 坑:本来是想测试用例fail的时候捕获异常来执行截图操作,但是由 ...

  3. ELK(ElasticSearch+Logstash+Kibana)配置中的一些坑基于7.6版本

    三个组件都是采用Docker镜像安装,过程简单不做赘述,直接使用Docker官方镜像运行容器即可,注意三个组件版本必须一致. 运行容器时最好将三个组件的核心配置文件与主机做映射,方便直接在主机修改不用 ...

  4. Windows批处理命令学习中遇到的坑--持续更新中

    再次拾起windows批处理命令,下边将一些遇到的小问题写出来,希望可以帮到大家 1.set命令:set主要的作用是为变量赋值,类似于编程语言中的var i = Value:但是在使用的过程中一定要注 ...

  5. 学习SpringBoot中遇见的坑

    1. 在搭建SpringBoot HelloWorld 时项目结构应该这样: 而不能这样: 否则访问时出现错误页面: 原因:此时还不知道,先记录下来. --已解决2018/12/11,因为Spring ...

  6. 【Go】开发中遇到的坑——持续更新

    关于CGo多语言编译 问题出现在将openCV封装到go语言的时候.在编译时需要设置 CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o xxx mai ...

  7. 工作中常用Lixu命令学习笔记

    对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...

  8. git 工作中常用命令(结合vscode学习git 命令)

    作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...

  9. 如何比较Keras, TensorLayer, TFLearn ?——如果只是想玩玩深度学习,想快速上手 -- Keras 如果工作中需要解决内部问题,想快速见效果 -- TFLearn 或者 Tensorlayer 如果正式发布的产品和业务,自己设计网络模型,需要持续开发和维护 -- Tensorlayer

    转自:https://www.zhihu.com/question/50030898/answer/235137938 如何比较Keras, TensorLayer, TFLearn ? 这三个库主要 ...

随机推荐

  1. 安装Orcacle后使用DBCA(Database Configuration Assistant)卡住的问题

    转自:http://hi.baidu.com/kissbaofish/item/2f56d326742c39454799620b 用dbca建库停在46% 是export NLS_LANG='amer ...

  2. Spark修炼之道(高级篇)——Spark源代码阅读:第十二节 Spark SQL 处理流程分析

    作者:周志湖 以下的代码演示了通过Case Class进行表Schema定义的样例: // sc is an existing SparkContext. val sqlContext = new o ...

  3. vue7 下拉列表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Android活动状态和生存期

    活动状态 1.运行状态(顶层的活动) 2.暂停状态(非顶层的,可见的活动) 3.停止状态(非顶层的,不可见的活动) 4.销毁状态(保证手机的内存充足) 活动的生存期 完整的生存期 onCreate活动 ...

  5. 5. webservice通信调用天气预报接口实例

    转自:https://blog.csdn.net/xiejuan6105/article/details/78452605 一:环境搭建 1:新建一个java project工程weatherInf ...

  6. c#记录日志的方法

    /// <summary> /// 生成日志 /// </summary> /// <param name="text"></param& ...

  7. xfce4 + docky ,docky 上面那透明的一条黑色横线去掉方法

    在安装完Debian 9 + xfce4桌面后 ,添加docky启动后,会在docky 上面有一条黑色横线看起来非常不舒服. 去掉方法:设置管理器->窗口管理器微调->合成器->取消 ...

  8. JAVA文件读取FileReader

    JAVA文件读取FileReader 导包import java.io.FileReader 创建构造方法public FileReader(String filename),参数是文件的路径及文件名 ...

  9. 今日SGU 5.13

    SGU 146 题意:就是给你一个长度为l的圈,然后你跑步,每一段给你时间t和速度v,问你最后离起点多远 收获:就是把浮点数转为整数,然后但是会出现精度误差,比如l最多四位小数,那你就加0.00001 ...

  10. Vue2.0八——知识点整理

    1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答 ...