gpt4 book ai didi

elasticsearch - 无法启动 ElasticSearch Pod

转载 作者:行者123 更新时间:2023-12-05 04:27:19 26 4
gpt4 key购买 nike

几个月前,我使用这个 guide 在 Kubernetes (GCP) 上部署了 Elastic-Search(版本 - 8.0.1)作为外部负载均衡器的服务。 .

现在,我无法对 ElasticSearch 执行任何读取或写入操作。查看日志,发现节点内存快满了。

以下是支持此分析的一些日志:

flood stage disk watermark [95%] exceeded on [hulk-es-default-0][/usr/share/elasticsearch/data] free: 18.5mb[1.8%], all indices on this node will be marked read-only

Cluster health status changed from [YELLOW] to [RED] (reason: [shards failed [[1][0]]]).

This node is unhealthy: health check failed on [/usr/share/elasticsearch/data].`

以下是执行任何读/写操作时出现的错误:

elasticsearch.exceptions.TransportError: TransportError(503, 'master_not_discovered_exception', None)

elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPSConnectionPool(host='...', port=****): Read timed out. (read timeout=30))

我增加了我的 elasticsearch 持久卷声明 (PVC) 的容量,但无法使用该新卷创建 pod。

我遵循了以下步骤-

  • 在其 StorageClass 对象中将 allowVolumeExpansion 字段设置为 true

  • 将 ElasticSearch Operator 部署扩展到 0 个副本。

  • 删除了 statefulset 对象而不删除 pod 使用

    kubectl delete sts <statefulset-name> --cascade=orphan

在删除之前,我使用以下方法保存了 statefulset 的 yaml

kubectl get sts <statefulset-name> -o yaml
  • 增加了PVC的yaml文件的存储容量。
  • 通过我保存的 yaml 文件使用新的存储请求重新创建了 StatefulSet

kubectl apply -f file-name.yml

  • 将运营商部署缩减为 1

但是,当我重新创建状态集时,CrashLoopBackOff每次都显示错误。

以下是一些日志-

  • 就绪探测失败
  • 可能的根本原因:java.io.IOException:设备上没有剩余空间
  • 使用数据路径,挂载 [[/usr/share/elasticsearch/data (/dev/sdb)]],net usable_space [0b],net total_space [975.8mb],类型 [ext4]

ES pod 正在访问的持久化磁盘卷增加了,但 pod 仍然无法启动。谁能在这里指导我,这里有什么问题?

最佳答案

似乎是磁盘空间 (/usr/share/elasticsearch/data) 的问题。验证具有所需大小的持久卷是否可用并通过 PVC 对象绑定(bind)到 elasticsearch pod。

关于elasticsearch - 无法启动 ElasticSearch Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72854889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com