Kubernetes集群上部署的elasticsearch服务运行报错:For complete error details

目录

一、问题描述:

二、问题分析:

1、排查当前容器里的elasticsearch服务数据目录权限:

2、检查elasticsearch用户的id值:

3、故障原因及故障处理方向结论:

三、问题处理:

四、总结:

一、问题描述:

在维护paas云平台时遇见一个elasticsearch服务运行异常,报错内容显示如下:

并且通过重启pod容器也无法恢复该elasticsearch服务。

二、问题分析:

通过日志内容及运维经验发现该问题是因为elasticsearch服务数据目录的权限不匹配导致,

1、排查当前容器里的elasticsearch服务数据目录权限:

通过上面的检查,得出两个信息:

(1).elasticsearch服务的数据目录的权限确实存在问题,其他的目录/文件的是elasticsearch用户,但是data目录的属主是root的,存在冲突;

(2).elasticsearch服务运行的用户是elasticsearch用户;

2、检查elasticsearch用户的id值:

需要登入到容器里通过id elasticsearch查看用户ID值

3、故障原因及故障处理方向结论:

根据上面分析的情况,需要将data目录的属主修改为 elasticsearch:root,就可以了。

三、问题处理:

根据上面分析的结论,需要将 elasticsearch容器里的data目录修改属主,但是考虑到后期可能还会触发该属主问题,所以建议需要在 elasticsearch容器里加入一个初始化容器来完成属主设置工作;

在spec模块之下添加如下的内容:

cpp 复制代码
      initContainers:
        - name: init-sysctl
          image: 'dockerhub.jxstjh.com/system_containers/busybox:latest'
          command:
            - /bin/sh
            - '-c'
            - >-
              chown -R 1000:1000 /usr/share/elasticsearch/data;sysctl -w
              vm.max_map_count=262144
          resources: {}
          volumeMounts:
            - name: video-elasticsearch-pvc
              mountPath: /usr/share/elasticsearch/data
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
          securityContext:
            privileged: true

结果如下:其中有两处需要注意的,第一个 elasticsearch的数据目录,第二个是挂载目录信息

然后重启一下elasticsearch容器就可以了;后面通过验证,elasticsearch容器服务已经恢复了。

四、总结:

如上是elasticsearch容器服务维护过程中遇见的问题,并且是提供了处理方案,希望能帮助到大家!!

相关推荐
Meta3912 小时前
cenots8安装docker
docker·容器·centos
无风听海12 小时前
深入解析 Elasticsearch 的 match_phrase_prefix与 match_bool_prefix
大数据·elasticsearch·mybatis
天天喝旺仔13 小时前
Elasticsearch 全文检索实战:Lucene 倒排索引与 NoSQL 文档检索落地
elasticsearch·搜索引擎·全文检索·nosql·lucene
CAE虚拟与现实14 小时前
docker desktop中的build功能是要build什么
java·docker·容器
fb_1234514 小时前
Docker入门-第1-2章-容器生态系统与架构详解
docker·容器·架构
allnlei17 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
一技安身1 天前
【Docker】 镜像导出 & 导入,实验环境aarch64(arm64)Linux操作系统
linux·docker·容器
浅念-1 天前
一文吃透Git:本地操作|冲突处理|远程协作|GitFlow工作流详解
大数据·git·elasticsearch·搜索引擎·gitflow
鹤落晴春1 天前
【K8s】从 ConfigMap 到 Argo CD:Kubernetes 配置管理链路
运维·云原生·容器·kubernetes
vx-程序开发1 天前
【计算机毕设】基于Spring Boot的古城景区管理系统88564
java·数据库·spring boot·后端·spring·elasticsearch·课程设计