`

ELASTICSEARCH常见问题

阅读更多
1. ELASTICSEARCH建索引过程中崩溃问题追查
by LINECONG
前天用elasticsearch重建索引,总是在凌晨崩溃,ES甩出一坨java_pid[PID].hprof的文件,然后退出。查看日志,有java OutOfMemoryError的错误信息。用如下命令查看索引状态,发现在建的索引健康状态为red。

curl http://localhost:9200/_cat/indices?v
推测这是由于建索引太慢,redis队列阻塞,占据了太大内存而导致内存不足。于是删掉索引重建,并测控内存状况。今天凌晨又崩溃了,但此时redis占用的内存并不大。

发现日志中有“no index mapper found for field: [afv.好惹]”,于是想起前几天的升级索引,增加了一个afv的字段,这个字段是一个dict,dict的key是各种可能的关键词,由于关键词非常多,每一个关键词都会在mapping中生成一个”afv.[关键词]“的field,这会导致ES得到一个非常庞大的mapping,从而内存不足退出。

于是将afv这个字段用json方式转为string类型,从而避免生成”afv.[关键词]“这样的field。并用如下的mapping设置,将afv这个字段设置为不建索引。

mapping = {  'afv': { 'index': 'no', 'store': 'yes', 'type': 'string' }  }
重建索引后,一切顺利,CPU占用率也小了很多。


2. ElasticSearch报错None of the configured nodes are available

org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: []

使用地方的代码是:

Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("172.16.2.13", 9300));​

经查,最后的问题在于前面初始化settings时给cluster设置了个新的名字,如:Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "tonsonmiao").build();

因为如果设置clustername后,容器会在添加transportaddress时,从集群名为tonsonmiao里查找是否有要设置的这个IP和端口,此时肯定找不到,所以会报这个错。​

将这个重命名给去掉即可。
分享到:
评论
1 楼 x_looking 2019-04-25  
Client client = new TransportClient(Settings.empty).addTransportAddress(new InetSocketTransportAddress("172.16.2.13", 9300))

问题2 正解 ,空的settings 也会报这个错

相关推荐

    ES常见问题汇总ELK技术栈等相关问题

    ES常见问题汇总ELK技术栈等相关问题

    ES开发指南及面试手册

    二、ES面试手册 1. ES基础问题 描述Elasticsearch的主要特点和优势。...5. ES常见问题与解决方案 描述Elasticsearch中常见的性能问题和解决方案。 解释如何诊断和解决Elasticsearch集群中的问题。 描述Elasticsea

    ES查询客户端,elasticsearch可视化工具 elasticsearch查询客户端

    常见的Elasticsearch客户端包括: - **Jest**:一个轻量级的Java REST客户端,易于集成到Java项目中,支持HTTP JSON协议。 - **Elasticsearch-JDBC**:允许将Elasticsearch作为数据源,与SQL兼容的系统进行集成。 -...

    elasticsearch常用版本

    - **内存设置**:确保JVM有足够的内存,通常设置`ES_HEAP_SIZE`环境变量以避免性能问题。 - **插件安装**:根据需求安装相应的插件,如Kibana、Logstash、Beats等,以构建完整的ELK(Elasticsearch, Logstash, ...

    解决spring-data-elasticsearch 5.4.0 不支持 5.4.1的elasticsearch问题

    在使用Spring Data Elasticsearch框架时,可能会遇到一个常见的问题,即版本兼容性问题。Spring Data Elasticsearch 5.4.0设计时可能并未考虑到与Elasticsearch 5.4.1的完全兼容,导致在升级Elasticsearch到5.4.1后...

    elasticsearch elasticsearch-6.2.2 elasticsearch-6.2.2.zip 下载

    根据提供的文件信息,我们可以推断出本篇文章将围绕Elasticsearch 6.2.2版本进行详细介绍,包括其下载方式、主要功能特性以及在实际应用中的常见用途。 ### Elasticsearch简介 Elasticsearch是一款基于Lucene的...

    Elasticsearch 开发手册

    在数据抽取 ELT 领域,ES 全家桶 ELK(Elasticsearch+Logstash+Kibana)赫赫有名。 Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 ...

    elasticsearch-6.8.0+elasticsearch-analysis-ik-6.8.0 .zip

    Elasticsearch 常见的应用场景包括: - **日志分析**:收集、存储、分析大量系统日志,发现异常和趋势。 - **网站搜索**:提供网站内容的快速、精准搜索体验。 - **业务数据分析**:实时分析业务数据,支持业务决策...

    springboot整合es-springboot-elasticsearch.zip

    SpringBoot整合Elasticsearch是现代Java开发中常见的一项任务,因为SpringBoot的便捷性和Elasticsearch的高效搜索能力,使得这种结合在数据检索、分析和日志存储等领域广泛应用。本项目"springboot-elasticsearch-...

    elasticsearch安装配置详解及常见错误解决办法

    Elasticsearch 安装配置详解及常见错误解决办法 Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了强大的全文搜索功能。本文将详细介绍 Elasticsearch 的安装配置过程,以及常见错误的解决办法。 一、Elastic...

    elasticsearch安装和使用

    Elasticsearch提供多种查询方式,其中Term查询和Match查询是两种常见的文本匹配方式: - Term查询:这种查询方式是精确匹配,会忽略掉分析过程,直接查找原始的关键词。如果搜索的词与索引中的完全相同,那么才会...

    Elasticsearch java工具类

    Elasticsearch提供了Java REST客户端,允许开发者直接通过Java代码与ES集群进行交互。这个工具类可能包含了如索引文档、查询、更新和删除文档等基本操作的封装,以及聚合、脚本等高级功能。例如,`IndexRequest`用于...

    ElasticSearch Java API 中文文档

    标签《ES Java API 中文文档》强调了文档的内容属性,它属于ElasticSearch的一个重要组成部分,即用Java语言进行数据交互和操作的应用程序接口部分。 从部分内容中可以提取出以下知识点: 1. **Transport Client**...

    ElasticSearch-head插件

    而Elasticsearch-head插件由于更新较慢,可能无法支持最新版本的Elasticsearch,因此在实际使用中需要考虑兼容性问题。 总的来说,Elasticsearch-head插件是一个轻量级且实用的Elasticsearch可视化工具,尤其适合...

    Elasticsearch工具类

    Elasticsearch工具类是开发中常见的一种抽象封装,旨在简化与Elasticsearch数据库的交互,提高代码的可读性和可维护性。Elasticsearch是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛用于实时大数据分析和...

    ElasticSearch 基础教程,包括基本概念安装和配置的详细信息

    #### ElasticSearch 常见问题 面对使用过程中的疑问,了解常见问题及其解决方案是很有帮助的。 - **如何解决内存溢出问题**:调整 JVM 参数,优化索引设置。 - **如何提高搜索性能**:合理设置分片数量,利用缓存...

    elasticsearch-head-master

    在使用Elasticsearch-Head时,你可能会遇到一些常见问题,比如连接问题、权限错误、版本兼容性等。确保Elasticsearch-Head和Elasticsearch版本匹配,且防火墙设置允许它们之间的通信。如果遇到安全问题,可能需要在...

    Elasticsearch(015):es常见的字段映射类型之数字类型(numeric)

    es支持一下long, integer, short, byte, double, float, half_float, scaled_float常见的数字类型。 示例 #给example索引添加字段映射,默认docs类型 PUT example/docs/_mapping { properties: { id:{ type:long...

    php 的elasticsearch拓展

    当调用Elasticsearch API时,可能会遇到网络问题、JSON编码错误等。确保正确处理返回的响应对象,检查`error`和`status`字段,以便于调试。 6. **最佳实践** - 使用版本控制,避免直接在生产环境中升级Elastic...

Global site tag (gtag.js) - Google Analytics