关键词:
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、后续更新
centos7虚拟机安装elasticsearch6.4.x-遇到的坑(代码片段)
OS:Centos7x虚拟机1H2Gjdk:1.8elasticsearch:5.6.01、下载“elasticsearch-5.6.0.tar.gz”解压到/usr/local/elasticsearch目录下。2、启动elasticSearch这里需要注意的是,es 规定 root 用户不能启动 es,所以需要创建一个用户来启动 es#创建... 查看详情
elasticsearch8和kibana部署遇到的坑
...中遇到一些问题,这里做一个总结环境:windows10elasticsearch版本:8.6.1一、修改es用户密码的方式在bin目录下执行命令./elasticsearch-reset-password-uelastic-i二、kibana使用用户名和密码登录修改kibana.yml文件elasticsearch.username:"... 查看详情
elasticsearch之优化
为什么es需要优化? 答: 怎么来做好es的优化工作?1、解决es启动的警告信息【或者es中Toomanyopenfiles的问题】 maxfiledescriptors[4096]forelasticsearchprocesslikelytoolow,considerincreasingtoatleast[65536] vi/etc/security/limits.c 查看详情
elasticsearch系列之索引机制学习笔记(代码片段)
前言在上一章的学习,我们对ElasticSearch有了比较清晰的理解,然后本博客继续学习ES中比较重要的核心原理和具体实现。相对于MySQL的索引机制,大部分是基于B+树的,需要我们进行手动创建索引,但是ES的... 查看详情
在技术胖博客上学习es6遇到的坑和想法
第一节:ES6的开发环境搭建坑1:全局安装babel-cli已经不被官方推荐,改为局部安装(cnpminstallbabel-cli--save-dev);坑2:babelsrc/index.js-odist/index.js命令失效,可以直接跳过这一步。 想法相对于来说,这是一个挺好的入门的教程... 查看详情
elasticsearch之中文分词器插件es-ik
前提什么是倒排索引?Elasticsearch之分词器的作用Elasticsearch之分词器的工作流程Elasticsearch之停用词Elasticsearch之中文分词器Elasticsearch之几个重要的分词器 elasticsearch官方默认的分词插件 1、el... 查看详情
elasticsearch学习总结:es介绍与架构说明
本文主要从概念以及架构层面对Elasticsearch做一个简单的介绍,在介绍ES之前,会先对ES的“发动机”Lucene做一个简单的介绍1.Lucene介绍为了更深入地理解ElasticSearch的工作原理,特别是索引和查询这两个过程,理解Lucene的工作原理... 查看详情
elasticsearch学习方法以及复杂数据类型的映射(代码片段)
概述Elasticsearch是一个基于Lucene的搜索服务器。以下简称ES,版本为2.3左右的。ES的版本比较多,目前已经到了5.3版本,但是很多公司都没有使用最新版本,我所在的公司也是如此。在没有接触ES之前,我不知道... 查看详情
elasticsearch配置安装中遇到的问题
0、启动elasticSearch这里需要注意的是,es 规定 root 用户不能启动 es,所以需要创建一个用户来启动 es#创建用户名为es的用户useraddes-p#设置es用户的密码passwdes#将/usr/local/elasticsearch-5.2.0的拥有者设置为eschown-Res:es/u... 查看详情
elasticsearch之mapping
...候会发现kibana统计数据时,数据类型不对,这个时候就和elasticsearch的mapping有关,虽然我们可以用logstash修改传入es里的数据类型,比如float或者int或者string。但是没有double等类型,就算转换了,你会发现写入es的数据还是根据es里... 查看详情
运维工程师监控工作之elasticsearch关键指标采集方法
Elasticsearch组件依赖Java环境运行,除了监控ES所在服务器的操作系统、JVM等相关指标外,本文重点关注Elasticsearch自身监控指标。 ES核心功能是对外提供数据搜索服务,因此用户搜索请求的吞吐量、延迟... 查看详情
[elasticsearch]螺丝刀学习笔记之——elasticsearch(7.0up学习概览)(代码片段)
...呢?这不,压箱底的两篇学习笔记其中之一——ElasticSearch学习概览,就此JI出~~,祝自己和各位猿族兄嘚们节日快乐,同时欢迎各位猿友们一起交流指正~~🐵😘什么是ES?ES是一种开源、RESTful& 查看详情
[elasticsearch]螺丝刀学习笔记之——elasticsearch(7.0up学习概览)(代码片段)
...呢?这不,压箱底的两篇学习笔记其中之一——ElasticSearch学习概览,就此JI出~~,祝自己和各位猿族兄嘚们节日快乐,同时欢迎各位猿友们一起交流指正~~🐵😘什么是ES?ES是一种开源、RESTful& 查看详情
我在elasticsearch遇到的坑(代码片段)
安装没什么问题,windows安装java环境,下载elastic安装包,chorm安装elastic-head插件1.PHP调用时curl_setopt_array():Unabletocreatetemporaryfile一开始以为是Yii框架的问题,然后没有用框架测试还是一样的问题。原来是php对临时文件没有写权限,... 查看详情
es-什么是elasticsearch
前言观今宜鉴古,无古不成今。在学习elasticsearch之前,我们要知道,elasticsearch是什么?为什么要学习elasticsearch?以及用它能干什么?关于elasticsearch现在,你还离得开搜索吗?无论是Google还是百度提供的搜索入口,还是项目自... 查看详情
记一次学习kibaba踩过的坑(windows环境)
下载地址ElasticSearch:https://www.elastic.co/cn/downloads/elasticsearchLogstash:https://www.elastic.co/cn/downloads/logstashKibana:https://www.elastic.co/cn/downloads/kibana安装Kibana的过程中遇到这样的问题 查看详情
学习笔记elasticsearch(es)基本概念和语句学习笔记(代码片段)
一、ES概念1.ESElasticSearch又称ES,是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch是面向文档型数据... 查看详情
[es]elasticsearch总结(代码片段)
[ES]ElasticSearch总结目录一 ES简介1 ES简介 2 ES的特性3 ES的架构4 ES的核心概念二 索引数据结构1 单词-文档矩阵2 倒排索引基本概念3 倒排索引简单实例4 单词词典三 集群(Cluster)1 发现机制2 节点角色3 脑裂现象... 查看详情