gpt4 book ai didi

elasticsearch - 如何在 Kubernetes 上的 Elasticsearch 中禁用交换?

转载 作者:行者123 更新时间:2023-12-02 11:44:37 25 4
gpt4 key购买 nike

根据 official es docs ,禁用交换是 Elasticsearch 可用的最佳性能提升之一。

但是,事实证明它很难配置。我花了很多时间研究和尝试使用 Kubernetes 上的官方 ES docker 镜像禁用交换的不同方法。

bootstrap.memory_lock: true 设置为环境变量时,图像无法启动并出现错误:无法锁定 JVM 内存:错误=12,原因=无法分配内存.这可能会导致部分 JVM 被换出。增加RLIMIT_MEMLOCK,软限制:65536,硬限制:65536。正如文档所指出的,这是意料之中的。我什至用设置安装了自定义 /etc/security/limits.conf,但失败了。

在 k8s 上使用官方 es 镜像时,推荐的禁用交换的方法是什么?

而且,这是我的 yaml 的相关部分

apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: elastic-data
spec:
serviceName: elastic-data
replicas: 1
template:
spec:
securityContext:
runAsUser: 0
fsGroup: 0
containers:
- name: elastic-data
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.0
env:
- name: ES_JAVA_OPTS
value: "-Xms2g -Xmx2g"
- name: cluster.name
value: "elastic-devs"
- name: node.name
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: discovery.zen.ping.unicast.hosts
value: "elastic-master.default.svc.cluster.local"
- name: node.master
value: "false"
- name: node.ingest
value: "false"
- name: node.data
value: "true"
- name: network.host
value: "0.0.0.0"
- name: path.data
value: /usr/share/elasticsearch/data
- name: indices.memory.index_buffer_size
value: "512MB"
- name: bootstrap.memory_lock
value: "true"
resources:
requests:
memory: "3Gi"
limits:
memory: "3Gi"
ports:
- containerPort: 9300
name: transport
- containerPort: 9200
name: http
volumeMounts:
- name: data-volume
mountPath: /usr/share/elasticsearch/data
- name: swappiness-config
mountPath: /etc/security/limits.conf
subPath: limits.conf
volumes:
- name: data-volume
persistentVolumeClaim:
claimName: pvc-es
- name: swappiness-config
configMap:
name: swappiness-config
items:
- key: limits.conf
path: limits.conf

限制.conf

elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch hard nofile 65536
elasticsearch soft nofile 65536

最佳答案

我想,我的 yaml 中的 ulimits 没有被识别,所以我关注了 this post并使用设置设置的自定义入口点创建图像。

关于elasticsearch - 如何在 Kubernetes 上的 Elasticsearch 中禁用交换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com