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

相关推荐
藥瓿亭16 分钟前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
955.17 分钟前
k8s从入门到放弃之Pod的容器探针检测
云原生·容器·kubernetes
G皮T2 小时前
【Elasticsearch】映射:fielddata 详解
大数据·elasticsearch·搜索引擎·映射·搜索·mappings·fielddata
ID_云泽2 小时前
Elasticsearch中多索引数据合并与Nested嵌套类型操作全解析
elasticsearch·搜索引擎·全文检索
yunken282 小时前
docker容器保存为不依赖基础镜像的独立镜像方法
java·docker·容器
langmeng1102 小时前
使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
运维·redis·docker·容器·集群
南朝雨3 小时前
linux下安装elasticsearch及ik分词器
linux·elasticsearch·全文检索
leblancAndSherry3 小时前
Gitlab + Jenkins 实现 CICD
linux·运维·docker·kubernetes·gitlab·jenkins
脑瓜嗡7 小时前
Docker部署SpringBoot项目
spring boot·docker·容器