相关疑难解决方法(0)

弹性搜索最大虚拟内存区域vm.max_map_count [65530]太低,至少增加[262144]

我有一个针对ElasticSearch的systemd配置的问题.

[Unit]
Description=platform-elasticsearch
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
User={{ app_user }}
Group={{ app_group }}
Environment=ES_PATH_CONF=/platform/opt/elasticsearch-{{ elasticsearch.version }}/config
Environment=JAVA_HOME=/platform/opt/jdk{{ jdk.major_version }}_{{ jdk.minor_version }}
LimitAS=infinity
LimitRSS=infinity
LimitCORE=infinity
LimitNOFILE=100000
LimitMEMLOCK=100000
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=/platform/var/app/elasticsearch
ExecStart=/platform/opt/elasticsearch-{{ elasticsearch.version }}/bin/elasticsearch
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s -TERM $MAINPID
TimeoutStopSec=60
# When a JVM receives a SIGTERM signal it exits with code 143
SuccessExitStatus=143 0
Type=simple
Restart=on-failure
RestartSec=10
PIDFile=/platform/var/run/elasticsearch.pid

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

这似乎不允许我配置vm.max_map_count设置.

Jul 20 14:53:46 scratchpad elasticsearch: [2018-07-20T14:53:46,359][INFO ][o.e.b.BootstrapChecks    ] [1oQJNUK] bound or publishing to a non-loopback     address, …
Run Code Online (Sandbox Code Playgroud)

limit elasticsearch cgroups systemd

28
推荐指数
10
解决办法
3万
查看次数

使用适用于 Windows 的 Docker-Desktop,如何配置 sysctl 参数以在重新启动后继续存在?

在 win10 [wsl2] docker-desktop 中运行 elasticsearch 需要通过以下方式将 mmap 计数增加到 262144sysctl -w vm.max_map_count=262144

C:\Users\<username>>wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

在对此问题和弹性文档的回答中,建议相应地更新以将该值设置为永久,即使其在重新启动后仍然存在。vm.max_map_count/etc/sysctl.conf

请注意下面的输出,显示在我尝试遵循此建议并重新启动后,有效 mmap 计数未适应 sysctl.conf 中定义的值。

为什么没有呢?

PS C:\Users\<username>> wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl vm.max_map_count
vm.max_map_count = 65530
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># cd /etc
<hostname>:/etc# cat sysctl.conf
# content of this file will override /etc/sysctl.d/*
vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

考虑到更改了错误的 sysctl.conf,etc/我尝试更改 中的 sysctl.conf <hostname>:/tmp/docker-desktop-root/etc#。这是不允许的,因为这是一个Read-only file system.

可以/应该在 .wslconfig 中对其进行参数化吗?如果可以,如何?

使用 openSUSE Leap 15.2 代替 Win10 的 …

opensuse elasticsearch docker wsl-2

22
推荐指数
1
解决办法
2万
查看次数

标签 统计

elasticsearch ×2

cgroups ×1

docker ×1

limit ×1

opensuse ×1

systemd ×1

wsl-2 ×1