- 浏览: 149666 次
文章分类
最新评论
-
x_looking:
Client client = new TransportCl ...
ELASTICSEARCH常见问题 -
辣de冷wmyes:
ElasticSearch视频教程百度网盘地址:http:// ...
一、Elasticsearch安装使用教程
ELASTICSEARCH常见问题
- 博客分类:
- 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和端口,此时肯定找不到,所以会报这个错。
将这个重命名给去掉即可。
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 也会报这个错
问题2 正解 ,空的settings 也会报这个错
发表评论
-
使用 Scripted Metric Aggregation 遇到的问题
2016-02-19 14:12 2472使用Scripted Metric Aggregation进行 ... -
ElasticSearch性能优化策略
2016-02-17 19:42 3557ElasticSearch性能优化主要分为4个方面的优化。 一 ... -
Elasticsearch 数据建模 - 处理关联关系
2016-02-17 14:40 1074数据建模(Modeling Your Data ... -
数据类型转换错误
2016-02-15 18:28 1620异常: Invalid shift value (64) in ... -
elasticsearch 排序异常,关键字冲突
2016-02-03 12:35 5898org.elasticsearch.action.search ... -
ElasticSearch不同类型下同名字段排序错误
2016-02-03 11:18 1950虽然之前知道elasticsearch不同类型下同名字段要慎用 ... -
ElasticSearch immense term错误
2016-02-02 19:07 2653在使用ElasticSearch的过程中遇到了一个immens ... -
routing实例1
2015-09-21 18:51 0package com.eg.part1; import j ... -
routing实例
2015-09-21 18:49 0创建索引: PUT /useraudit_v1 创建索引别名: ... -
elasticsearch 精确,模糊查询实例
2015-09-19 23:55 62617实例 http://www.bubuko.com/infode ... -
elasticsearch java调用实例
2015-09-19 23:55 3563http://outofmemory.cn/code-snip ... -
[维护]Elasticsearch零停机时间更新索引配置或迁移索引
2015-09-18 10:16 795另外一篇文章:http://blog.csdn.net/dm_ ... -
elasticsearch 的mapping定义
2015-09-18 10:16 1204elasticsearch 的mapping 例子一: 订单 ... -
ElasticSearch基础杂烩-配置-索引-优化
2015-09-19 23:56 639http://blog.csdn.net/huwei2003/ ... -
Elasticsearch安装中文分词插件ik
2015-09-18 10:15 2046安装步骤: 1、到github ... -
ElasticSearch的各种服务的URL
2015-09-18 10:15 542前言 elasticsearch 将各种功能、配置、服务都以A ... -
ElasticSearch集群搭建
2015-09-19 23:56 604http://www.linuxidc.com/Linux/2 ... -
elasticsearch 配置
2015-09-18 10:16 711elasticsearch.conf 主要是设置一些java运 ... -
elasticsearch中文分词集成
2015-09-17 09:35 613elasticsearch官方只提供smartcn这个中文分词 ... -
elasticsearch的Mapping定义
2015-09-17 09:35 1417Mapping,就是对索引库中 ...
相关推荐
ES常见问题汇总ELK技术栈等相关问题
二、ES面试手册 1. ES基础问题 描述Elasticsearch的主要特点和优势。...5. ES常见问题与解决方案 描述Elasticsearch中常见的性能问题和解决方案。 解释如何诊断和解决Elasticsearch集群中的问题。 描述Elasticsea
常见的Elasticsearch客户端包括: - **Jest**:一个轻量级的Java REST客户端,易于集成到Java项目中,支持HTTP JSON协议。 - **Elasticsearch-JDBC**:允许将Elasticsearch作为数据源,与SQL兼容的系统进行集成。 -...
- **内存设置**:确保JVM有足够的内存,通常设置`ES_HEAP_SIZE`环境变量以避免性能问题。 - **插件安装**:根据需求安装相应的插件,如Kibana、Logstash、Beats等,以构建完整的ELK(Elasticsearch, Logstash, ...
在使用Spring Data Elasticsearch框架时,可能会遇到一个常见的问题,即版本兼容性问题。Spring Data Elasticsearch 5.4.0设计时可能并未考虑到与Elasticsearch 5.4.1的完全兼容,导致在升级Elasticsearch到5.4.1后...
根据提供的文件信息,我们可以推断出本篇文章将围绕Elasticsearch 6.2.2版本进行详细介绍,包括其下载方式、主要功能特性以及在实际应用中的常见用途。 ### Elasticsearch简介 Elasticsearch是一款基于Lucene的...
在数据抽取 ELT 领域,ES 全家桶 ELK(Elasticsearch+Logstash+Kibana)赫赫有名。 Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 ...
Elasticsearch 常见的应用场景包括: - **日志分析**:收集、存储、分析大量系统日志,发现异常和趋势。 - **网站搜索**:提供网站内容的快速、精准搜索体验。 - **业务数据分析**:实时分析业务数据,支持业务决策...
SpringBoot整合Elasticsearch是现代Java开发中常见的一项任务,因为SpringBoot的便捷性和Elasticsearch的高效搜索能力,使得这种结合在数据检索、分析和日志存储等领域广泛应用。本项目"springboot-elasticsearch-...
Elasticsearch 安装配置详解及常见错误解决办法 Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了强大的全文搜索功能。本文将详细介绍 Elasticsearch 的安装配置过程,以及常见错误的解决办法。 一、Elastic...
Elasticsearch提供多种查询方式,其中Term查询和Match查询是两种常见的文本匹配方式: - Term查询:这种查询方式是精确匹配,会忽略掉分析过程,直接查找原始的关键词。如果搜索的词与索引中的完全相同,那么才会...
Elasticsearch提供了Java REST客户端,允许开发者直接通过Java代码与ES集群进行交互。这个工具类可能包含了如索引文档、查询、更新和删除文档等基本操作的封装,以及聚合、脚本等高级功能。例如,`IndexRequest`用于...
标签《ES Java API 中文文档》强调了文档的内容属性,它属于ElasticSearch的一个重要组成部分,即用Java语言进行数据交互和操作的应用程序接口部分。 从部分内容中可以提取出以下知识点: 1. **Transport Client**...
而Elasticsearch-head插件由于更新较慢,可能无法支持最新版本的Elasticsearch,因此在实际使用中需要考虑兼容性问题。 总的来说,Elasticsearch-head插件是一个轻量级且实用的Elasticsearch可视化工具,尤其适合...
Elasticsearch工具类是开发中常见的一种抽象封装,旨在简化与Elasticsearch数据库的交互,提高代码的可读性和可维护性。Elasticsearch是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛用于实时大数据分析和...
#### ElasticSearch 常见问题 面对使用过程中的疑问,了解常见问题及其解决方案是很有帮助的。 - **如何解决内存溢出问题**:调整 JVM 参数,优化索引设置。 - **如何提高搜索性能**:合理设置分片数量,利用缓存...
在使用Elasticsearch-Head时,你可能会遇到一些常见问题,比如连接问题、权限错误、版本兼容性等。确保Elasticsearch-Head和Elasticsearch版本匹配,且防火墙设置允许它们之间的通信。如果遇到安全问题,可能需要在...
es支持一下long, integer, short, byte, double, float, half_float, scaled_float常见的数字类型。 示例 #给example索引添加字段映射,默认docs类型 PUT example/docs/_mapping { properties: { id:{ type:long...
当调用Elasticsearch API时,可能会遇到网络问题、JSON编码错误等。确保正确处理返回的响应对象,检查`error`和`status`字段,以便于调试。 6. **最佳实践** - 使用版本控制,避免直接在生产环境中升级Elastic...