本文汇总了使用阿里云Elasticsearch(简称ES)实例时的常见问题。

购买ES实例时选错配置,如何处理?

当您购买ES实例后,发现所选的配置不符合预期时,可以参考下表,匹配您的配置信息,选择合适的解决方案。
警告 在下表解决方案中,如果涉及到退订,请在退订前先备份数据(手动备份与恢复)。退订后数据会被清除,无法恢复。
配置 解决方案
付费模式

如果您购买的是按量付费的实例,可转换为包年包月,详情请参见按量付费转包年包月

版本 实例需要满足以下任意一种情况,才支持进行版本变更:
  • 购买的实例版本为5.5.3,需要变更版本为5.6.16。
  • 购买的实例版本为5.6.16,需要变更版本为6.3.2。
  • 购买的实例版本为6.3.2,需要变更版本为6.7.0。

实例版本升级,详情请参见升级版本。不满足上述情况的版本变更,建议退订后重新购买。

地域 不支持变更,建议退订后重新购买。
可用区 可迁移可用区,详情请参见迁移可用区节点
说明 在迁移可用区时,请确保ES实例已创建成功,即实例状态为正常。
可用区数量 不支持变更,建议退订后重新购买。
实例规格 支持变更,详情请参见升配集群
存储类型 支持变更,详情请参见升配集群
云盘加密 不支持变更,建议退订后重新购买。
单节点存储空间 支持变更,详情请参见升配集群
数据节点数量 支持变更,详情请参见升配集群
网络类型、专有网络、虚拟交换机 不支持变更,建议退订后重新购买。
说明 目前只支持专有网络。
登录名 默认的管理员账号为elastic,不支持更改。您也可以在Kibana中创建用户,并为该用户授予对应的权限,详情请参见创建角色创建用户
登录密码 支持变更,详情请参见重置实例访问密码

以上未提到的配置,请在集群升配页面进行查验,详情请参见升配集群

ES购买页的版本具体对应的是哪个版本?

购买页版本 具体版本
7.10 7.10.0
7.7 7.7.1
6.8 6.8.6
6.7 6.7.0
6.3 6.3.2
5.6 5.6.16
5.5 5.5.3

购买时,如果您已拥有自建集群,建议您选择相近的版本,比如小版本相近;如果没有,建议您选择最新版本。

购买ES实例时,专有网络为空,如何处理?

您需要确认创建的RAM账号是否拥有对应的权限,建议对RAM账号授予AliyunElasticsearchFullAccessAliyunVPCFullAccess权限。详情请参见为RAM用户授权

购买ES实例时,已拥有对应的专有网络,但无法选择虚拟交换机或虚拟交换机为空,如何解决?

您需要确认对应区域下是否创建了虚拟交换机,如果没有创建,详情请参见搭建IPv4专有网络

已购买的实例退订后重新购买,实例的访问地址会变吗?

会变化。建议您购买新实例后,先修改对应的客户端代码,再退订旧实例,保证业务不间断。

如何释放ES实例?

可在实例列表页面单击更多 > 释放实例,详情请参见释放实例

ES实例停止服务后多久被释放?

停止服务1天后释放实例,释放后数据将被永久删除,无法恢复。更多注意事项请参见欠费与停机

我可以购买单机版的ES实例吗?

不支持,购买时至少需要选择两个数据节点,详情请参见购买页面参数

购买实例时,资源已经售罄怎么办?

如果在创建实例时遇到资源售罄的情况,建议您采取以下措施:
  • 更换地域
  • 更换可用区
  • 更换资源配置

如果调整需求后仍然没有资源,建议您等待一段时间再购买。实例资源是动态的,如果资源不足,阿里云会尽快补充资源,但是需要一定时间。

为什么建议还在使用存量1核2 GB规格的用户尽快升级规格?

受规格库存及性能稳定性影响,自2021年5月起,阿里云Elasticsearch不再提供1核2 GB规格的数据节点的新购,存量节点使用不受影响。但1核2 GB规格实例只适合于测试场景,不适用于生产环境。根据产品SLA协议不在售后保障范围内,所以建议您尽快将1核2 GB规格升级至高规格。升配详情请参见升配集群

ES支持版本升级或降级吗?

支持升级,不支持降级。升级功能目前只支持5.5.3版本升级到5.6.16版本、5.6.16版本升级到6.3.2版本、6.3.2版本升级到6.7.0版本,暂不支持其他版本间的升级,详情请参见升级版本

如果需要其他版本间的升级或者降版本,请先购买符合需求的ES实例,同步数据到新实例中,再申请退订旧实例。

ES支持通过SSH登录集群修改配置吗?

不支持。为确保安全性,ES不支持通过SSH登录集群。如果您需要修改集群配置,可通过ES的集群配置功能实现,详情请参见集群配置概述

6.7版本的Logstash和6.3版本的ES能够兼容吗?

可以兼容。更多兼容性说明请参见产品兼容性

Quick BI支持ES数据源吗?

不支持。您可以通过Kibana进行数据分析与展示。

ES支持评分插件吗?

ES支持通过索引创建分词器进行数据搜索,同时也支持评分排序,详情请参见步骤五:搜索数据

ES支持LDAP功能吗?

ES产品侧支持LDAP功能。如果您需要使用LDAP协议对接ES进行认证,需要先在本地搭建对应ES版本集群环境进行测试,测试没问题后再在ES控制台配置对应的模板,详情请参见X-Pack集成LDAP认证最佳实践

ES有Java SDK吗?

有的,不同的ES版本对应不同的SDK,具体使用方式请参见Java API

ES实例的内核版本在哪里查看?

ES实例的内核默认为最新版本,版本说明请参见内核版本发布记录。如果不是最新版本,在实例的基本信息页面会提示有可更新的内核补丁,单击此提示,可查看实例当前的内核版本。查看内核版本

ES在使用过程中,什么情况下可以使用强制重启功能,使用该功能后会有什么影响?

如果实例状态显示为非正常状态(黄色或红色),则不支持重启操作。此时,您需要对实例进行强制重启。使用该功能,可能会导致服务在重启阶段不稳定、数据丢失或者读写数据失败等,请谨慎操作。

重启ES实例或节点需要多久?

在重启ES实例或节点时,页面上会显示预估时间,这个时间是根据您的集群规格、数据结构和大小等进行评估的。重启实例耗时较长,一般在小时级别,详情请参见重启实例或节点

打开或关闭ES实例的公网访问时,会触发实例重启吗?

不会。但是会有短暂的生效状态变更,不影响正常使用。

使用ES实例时,一部分节点的CPU和负载正常,另一部分处于空闲状态,如何处理?

此现象是集群负载不均问题引起的。导致阿里云ES集群负载不均问题的原因很多,目前主要包括shard设置不合理、segment大小不均、冷热数据需求、负载均衡及多可用区架构部署的长连接不释放等。请根据具体现象进行排查,详情请参见集群负载不均问题的分析方法及解决方案
注意 在排查问题前,请先查看您的集群规格,如果为1核2 GB(测试规格),请先将规格升配只2核4 GB或以上,详情请参见升配集群

使用ES前,如何合理规划集群的资源和规格以及shard的大小和数量?

参见规格容量评估,对集群的规格容量进行初始规划,以此为依据来购买或者升配集群。

如何查看ES实例的配置参数?

可在实例的基本信息页面查看,详情请参见查看实例的基本信息

当您使用Transport Client访问ES实例时,cluster.name为实例ID,详情请参见Transport Client(5.x)

变更集群配置会影响ES服务吗?

变更集群配置会导致集群重启。目前阿里云ES集群重启是采用滚动重启的方式,在集群状态正常(绿色)、索引至少包含1个副本的情况下,如果资源使用率也不是特别高(可在集群监控页面查看,例如节点CPU使用率为80%左右,节点HeapMemory使用率为50%左右,节点load_1m低于当前数据节点的CPU核数),那么集群在重启期间能够持续提供服务。但建议在业务低峰期进行操作。

ES实例支持变更云盘类型吗?

支持。云盘升配时,支持云盘存储性能由低到高依次为:高效云盘、SSD云盘、ESSD云盘。

ES支持将其他类型的节点变为冷数据节点吗?

不支持,会导致实例不稳定,详情请参见“Hot-Warm” Architecture in Elasticsearch 5.x

升级了实例规格后,可以降低配置吗,如何操作?

支持降配,详情请参见缩容集群数据节点

业务量临时突增,如何变更集群配置,来保证业务正常进行?

在业务量临时突增的情况下,建议您先进行节点扩容(升配集群),之后再进行节点缩容(缩容集群数据节点)。集群数据节点扩缩容都需要重启集群才能生效,在重启前,请注意:
  • 确保实例的状态为正常(绿色)。
  • 索引至少包含1个副本、 资源使用率不是很高(可在集群监控页面查看,例如节点CPU使用率为80%左右,节点HeapMemory使用率为50%左右,节点load_1m低于当前数据节点的CPU核数)。

升配集群时,提示UpgradeVersionMustFromConsole如何处理?

出现此问题的原因是版本变更不符合要求。目前阿里云ES只支持5.5.3版本升级到5.6.16版本、5.6.16版本升级到6.3.2版本、6.3.2版本升级到6.7.0版本,暂不支持其他版本间的升级。

升级ES版本需要多长时间?

具体时长与您集群中的数据大小、数据结构、集群规格等都有关系。一般为1个小时左右。

升级ES版本会影响集群服务吗?

升级期间可以继续向集群写入数据或从集群读取数据,但不能进行其他变更操作,建议在流量低峰期进行。升级的注意事项和操作步骤请参见升级版本

是否可以在集群的YML文件配置中,调整http.max_content_length和discovery.zen.ping_timeout值?

阿里云ES暂不支持用户自行配置这两个参数,如需添加请联系阿里云ES技术工程师。添加前,请确认参数的正确性,以及参数修改带来的影响。如果参数不正确,集群将无法正常滚动重启。
说明 discovery.zen.ping_timeout、discovery.zen.fd.ping_timeout、discovery.zen.fd.ping_interval、discovery.zen.fd.ping_retries参数通常是不需要调整的。

我可以切换ES实例的VPC吗?

不支持切换。您可以重新购买一个对应VPC下的ES实例,然后迁移数据,再释放原实例。

ES支持修改JVM参数吗?

阿里云ES的JVM参数使用的是官方ES推荐的参数配置,默认为集群内存的一半,不支持修改。

使用IK分词器时,如何自定义扩展分词词典内容?

您可以通过阿里云ES的IK分词插件的冷更新或热更新功能,添加或删除词典中的内容,详情请参见使用IK分词插件(analysis-ik)

使用IK分词插件时,提示ik startOffset报错,如何处理?

以上报错触发了ES 6.7版本的bug,需要您重启集群,详情请参见重启实例或节点

本地IK词库文件丢失,可以在集群管理页面找回吗?

无法找回,只能在集群管理页面上进行删除和更新操作。建议您下载官方主分词和停用分词文件,把对应的主分词和停用词改成您系统词库中的名词,然后重新上传。

更新IK分词词库后,如何使新的词库对之前的数据生效?

需要重建索引。已经配置了IK分词的索引,在IK词典冷更新或热更新操作完成后将只对新数据生效。如果您希望对全部数据生效,需要重建索引,详情请参见配置reindex白名单

FullGC有标准值吗?

FullGC(清理整个堆空间)是否存在问题,需要通过业务延时,以及对比历史和现在的状况来分析。CMS回收器在内存为75%就会开始回收,需要留一点空间以应付突增流量。

不使用的插件可以卸载吗?

部分可卸载。可在系统默认插件列表中查看,如果插件对应的操作列下出现卸载,则表示该插件可卸载,具体操作步骤请参见安装或卸载系统默认插件

阿里云ES的IK分词插件和开源版本的IK插件的词库一致吗?

一致。阿里云ES IK插件内置的词库就是对应版本的开源IK的词库,详情请参见IK Analysis for Elasticsearch

自定义插件可以访问外部网络吗,例如读取Github上的词库文件?

自定义插件不支持访问外网。如果要访问外部文件,可将文件上传至阿里云OSS上,通过连接OSS读取文件。

自定义插件支持热更新功能吗?

不支持。如果需要热更新,可参考IK词典热更新的方式,自行配置,详情请参见IK Analysis for Elasticsearch

analysis-aliws分词是如何配置的,文件的格式是什么样的?

具体配置方式请参见使用AliNLP分词插件(analysis-aliws)

词典文件要求如下:
  • 文件名:必须是aliws_ext_dict.txt。
  • 文件格式:必须是UTF-8格式。
  • 内容:每行一个词,前后不能有空白字符;需要使用UNIX或Linux的换行符,即每行结尾是\n。如果是在Windows系统中生成的文件,需要在Linux机器上使用dos2unix工具将词典文件处理后再上传。

ES同义词、IK分词、AliNLP分词有哪些区别?

分词类型 使用方式 功能描述 支持上传的文件类型 分词器或分析器
同义词 在集群配置模块,上传同义词文件后使用。 在文件中写入几个同义词,查询其中一个,其他的也会显示。 UTF-8编码的TXT文件 自定义
IK分词 analysis-ik插件方式。 根据main.dic文件,对一段话进行拆分。查询时,只要查询的内容中包含了拆分后的词,查询结果中就会显示该段话。同时还包含了停用词stop.dic,拆分后,stop.dic文件中包含的词会被过滤掉。对应的词库可以在官方文档中查看。 UTF-8编码的DIC文件 分词器:
  • ik_smart
  • ik_max_word
AliNLP分词 analysis-aliws插件方式。 与IK分词大致相同,但不包含单独的停用词文件。停用词集成在主分词词库:aliws_ext_dict.txt文件中,且词库不对外开放。目前不支持自定义停用词。 文件名必须为:aliws_ext_dict.txt,UTF-8编码
  • 分析器:aliws(不会截取虚词、虚词短语、符号)
  • 分词器:aliws_tokenizer

ES支持设置.security日志的保存时间吗?

不支持。阿里云ES不支持自动过期清除策略,因此请手动清除过期的.security索引,详情请参见(可选)步骤六:删除索引

ES只能看到7天内的日志,如何查看更多的历史日志?

可调用ListsearchLog API获取更多历史日志,详情请参见ListSearchLog

查看不到ES的查询和更新日志,如何处理?

可通过设置慢日志,降低日志记录的时间戳查看,详情请参见配置慢日志

如何配置和查看ES实例的慢日志?

默认情况下,ES实例的慢日志会记录5~10秒的读写操作,登录该实例的Kibana控制台,执行相关命令,降低日志记录的时间戳,以抓取更多的日志,详情请参见配置慢日志
说明 不支持修改慢日志格式。

如何通过程序定期获取ES实例的慢日志?

可调用阿里云ES的ListSearchLog API实现,详情请参见ListSearchLog

ES实例的快照能恢复到其他版本的实例中吗?

如果是自动备份,则只能将快照恢复到原实例中,详情请参见自动备份与恢复

如果是手动备份,可以将快照恢复到其他实例中。一般是建议在相同版本之间恢复,不同版本之间可能存在兼容性问题,详情请参见手动备份与恢复

备份ES数据时,提示集群状态不健康,如何处理?

ES集群状态不健康时,不能使用阿里云ES提供的自动备份和跨集群OSS仓库设置功能。此时您可以购买一个与ES实例相同区域的OSS Bucket,手动创建仓库进行快照备份,详情请参见手动备份与恢复

开启了自动备份,但是没有设置过OSS,是不是没有备份成功?

阿里云ES默认为您提供了一个OSS Bucket,您可以参见登录Kibana控制台,在Kibana中使用GET _snapshot/aliyun_auto_snapshot/_all命令,获取自动备份的数据。

通过快照迁移(恢复)数据时,目标端显示分片异常。通过分片恢复指令POST /_cluster/reroute?retry_failed=true依旧无法成功,且对应索引显示异常,如何处理?

快照迁移(恢复)数据时,出现如下异常情况:

快照恢复问题
尝试删除问题索引后,再通过_restore API进行恢复。恢复命令中需要添加max_restore_bytes_per_sec参数,限制节点的恢复速度,默认为每秒40 MB。
POST /_snapshot/aliyun_snapshot_from_instanceId/es-cn-instanceId_datetime/_restore
{
    "indices": "myIndex",
    "settings": {
    "max_restore_bytes_per_sec" : "150mb" 
    }
}
说明 您还可以添加其他参数说明,例如:
  • compress:是否压缩,默认为true。
  • max_snapshot_bytes_per_sec:每个节点的快照速率,默认为每秒40 MB。

阿里云ES中的数据是否可以导出到本地?

阿里云ES提供了数据备份功能,详情请参见数据备份概述。您可以先将数据备份到OSS中,再通过OSS的下载文件功能将数据存储到本地。

如何使用X-Pack Watcher的邮件提醒功能?

可通过配置Watcher的Actions来实现,详情请参见Watcher settings in Elasticsearch
注意 阿里云ES的Watcher功能不支持直接与公网进行通讯,需要基于实例的内网地址来进行通讯。如果您需要使用XPack Watcher,还需要购买一台能同时访问公网和ES实例的ECS实例,作为代理去执行Actions,详情请参见配置钉钉机器人接收X-Pack Watcher报警

出现GC内存无法分配的报警,如何处理?

可能原因包括:集群负载过高、查询QPS太高或者写入数据太大等,请按照以下说明排查处理:

如何使用客户端连接阿里云ES集群,与开源ES有什么区别?

使用阿里云ES的内网或外网地址连接,对应开源ES的集群地址,详情请参见通过客户端访问阿里云Elasticsearch

通过客户端访问ES实例时,可以关闭Basic Auth(安全认证)吗?

不可以。Basic Auth是X-pack自带的Kibana认证机制,ES实例包含X-Pack功能,因此不支持关闭Basic Auth。

阿里云ECS和ES的VPC相同,但可用区不同,那ECS可以通过内网访问ES吗?

可以。只要ECS和ES在同一VPC下,就可以通过内网访问。

如何通过外网连接ES实例?

可通过实例的公网地址来连接,并且需要配置公网地址访问白名单,详情请参见配置实例公网或私网访问白名单。连接时需要配置访问域名、用户名和密码等参数,详情请参见通过客户端访问阿里云Elasticsearch