elasticsearch之es学习工作中遇到的坑(陆续更新)

大数据和人工智能躺过的坑 大数据和人工智能躺过的坑     2022-08-25     793

关键词:

 

 

 

 

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 脑裂现象... 查看详情