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容器服务维护过程中遇见的问题,并且是提供了处理方案,希望能帮助到大家!!

相关推荐
goodlook012312 分钟前
docker 安装运行mysql8.4.4
运维·docker·容器
被瞧不起的神2 小时前
Docker 安装教程(CentOS 系统)纯新手可入门
docker·容器·centos
Thinbug4 小时前
群晖Nas - Docker(ContainerManager)上安装GitLab
docker·容器·gitlab
程序员阿超的博客4 小时前
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
云原生·容器·kubernetes
程序员阿超的博客6 小时前
云原生核心技术 (2/12): Docker 入门指南——什么是容器?为什么它比虚拟机更香?
docker·云原生·容器
Twilight-pending7 小时前
Docker重启流程解析
docker·容器·eureka
测试开发-学习笔记7 小时前
docker的常用命令
docker·容器
GeminiJM9 小时前
Spring boot应用监控集成
运维·docker·容器
想躺平的咸鱼干10 小时前
RestClient
java·后端·elasticsearch·中间件·intellij-idea
今夕节度使11 小时前
通过 VS Code 连接 GitLab 并上传项目
git·elasticsearch·gitlab