使用Transport访问简称ES 9300端口,出现NoNodeAvailableException报错,如何处理?

问题场景:

使用Transport方式访问阿里云Elasticsearch(简称ES)9300端口,偶尔会出现NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{HVdK7CffQe2a_P0c9nQoiA}{es-cn-v1qqweee****.elasticsearch.aliyuncs.com}{172.17.XX.XX:9300}]],但是用户并没有172.17.XX.XX这个节点。

解决方法:

这个是虚拟IP,一般用于负载均衡,不会影响业务,无需关注。

出现连接不可用问题,如何处理?

连接不可用问题主要和集群负载高,集群产生了大量的GC日志有关。建议您在低峰期进行merge操作,并且结合健康诊断报告,控制频繁的修改,创建,删除索引等操作。

节点未加入集群,如何处理?

排查是否是因为磁盘空间不足导致:
  • 是:建议您进行磁盘扩容,详情请参见集群升配
  • 否:建议您确认后,重启集群。

堆内存(Heap)占用非常高,如何处理?

如果该ES集群使用的是G1垃圾回收(简称GC)方式,问题可能是由于该GC算法对Heap的利用率比较高引起的。如果业务上没有卡顿影响,建议您关注回收的效率,以及实际的STW时间,无需重点关注Heap大小。

如果需要关注Heap使用率,可以切到CMS算法再去观察,切换方法请参见高级配置

实例一直处于节点升级中,进度几个小时没有变化,如何处理?

此问题可能是您的磁盘空间不足导致。请查看您的集群配置,如果集群的规格和磁盘空间无法支撑当前的业务,建议您尽快进行集群升配
注意 1核2G规格的集群只适合用于测试环境不适用于生产环境,并且不在阿里云ES的服务等级协议(Service Level Agreement,简称SLA)范围内。

节点Heap Memory占满,连续多次GC导致ES集群处于Red状态,已经停止了读写操作,如何快速恢复?

建议您在不影响业务的情况下,进行强制重启,详情请参见重启实例