36.13.2. 与 ElasticSearch 的相关故障排除
以下故障排除问题适用于 EFK 堆栈的 ElasticSearch 组件。
Elasticsearch 部署永远不会成功,并回滚到以前的版本
此情形通常是在 OpenShift Container Platform 中部署在 AWS 上部署的集群日志记录。描述 Elasticsearch pod 通常会显示重新附加 pod 存储的问题:
$ oc describe pod <elasticsearch-pod>
考虑为每个 Elasticsearch 部署配置打补丁,以便 AWS 有更多时间使存储可用:
$ oc patch dc <elasticsearch-deployment-config> -p '{"spec":{"strategy":{"recreateParams": {"timeoutSeconds":1800}}}}'
searchguard index 仍为红色
这是一个已知问题:升级并移到每个集群的单个 SearchGuard 索引,而不是每个部署配置一个索引。Elasticsearch Explain API 用于发现原因,并需要删除到节点分配的索引:
$ oc -c elasticsearch exec ${pod} -- es_util --query=".searchguard/_settings" -XPUT -d "{\"index.routing.allocation.include._name\": \"\"}"
Elasticsearch Pod 永不就绪
当初始化和看到进程失败时,存在一个已知问题,这可以从红色的 .searchguard
索引中。
for p in $(oc get pods -l component=es -o jsonpath={.items[*].metadata.name}); do \ oc exec -c elasticsearch $p -- touch /opt/app-root/src/init_failures; \ done