Elasticsearch无法在AWS kubernetes集群上启动 [英] Elasticsearch fails to start on AWS kubernetes cluster

查看:139
本文介绍了Elasticsearch无法在AWS kubernetes集群上启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行kubernetes 1.10的AWS EKS上运行kubernetes集群. 我正在按照本指南在我的集群中部署elasticsearch elasticsearch Kubernetes

I am running my kubernetes cluster on AWS EKS which runs kubernetes 1.10. I am following this guide to deploy elasticsearch in my Cluster elasticsearch Kubernetes

我第一次部署它时一切正常.现在,当我重新部署它时,出现以下错误.

The first time I deployed it everything worked fine. Now, When I redeploy it gives me the following error.

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2018-08-24T18:07:28,448][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] stopping ...
[2018-08-24T18:07:28,534][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] stopped
[2018-08-24T18:07:28,534][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] closing ...
[2018-08-24T18:07:28,555][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] closed

这是我的部署文件.

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: es-master
  labels:
    component: elasticsearch
    role: master
spec:
  replicas: 3
  template:
    metadata:
      labels:
        component: elasticsearch
        role: master
    spec:
      initContainers:
      - name: init-sysctl
        image: busybox:1.27.2
        command:
        - sysctl
        - -w
        - vm.max_map_count=262144
        securityContext:
          privileged: true
      containers:
      - name: es-master
        image: quay.io/pires/docker-elasticsearch-kubernetes:6.3.2
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: CLUSTER_NAME
          value: myesdb
        - name: NUMBER_OF_MASTERS
          value: "2"
        - name: NODE_MASTER
          value: "true"
        - name: NODE_INGEST
          value: "false"
        - name: NODE_DATA
          value: "false"
        - name: HTTP_ENABLE
          value: "false"
        - name: ES_JAVA_OPTS
          value: -Xms512m -Xmx512m
        - name: NETWORK_HOST
          value: "0.0.0.0"
        - name: PROCESSORS
          valueFrom:
            resourceFieldRef:
              resource: limits.cpu
        resources:
          requests:
            cpu: 0.25
          limits:
            cpu: 1
        ports:
        - containerPort: 9300
          name: transport
        livenessProbe:
          tcpSocket:
            port: transport
          initialDelaySeconds: 20
          periodSeconds: 10
        volumeMounts:
        - name: storage
          mountPath: /data
      volumes:
          - emptyDir:
              medium: ""
            name: "storage"

我看到很多帖子都在谈论增加价值,但是我不确定该怎么做.任何帮助,将不胜感激.

I have seen a lot of posts talking about increasing the value but I am not sure how to do it. Any help would be appreciated.

推荐答案

只想附加到如果通过 eksctl 创建EKS集群,则可以附加到NodeGroup创建yaml:

If you create EKS cluster by eksctl then you can append to NodeGroup creation yaml:

 preBootstrapCommand:
      - "sed -i -e 's/1024:4096/65536:65536/g' /etc/sysconfig/docker"
      - "systemctl restart docker"

这将通过修复docker daemon配置来解决新创建的集群的问题.

This will solve the problem for newly created cluster by fixing docker daemon config.

这篇关于Elasticsearch无法在AWS kubernetes集群上启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆