Mac下用Podman启动OpenSearch失败:内存锁定请求未满足
解决OpenSearch启动时"memory locking requested but memory is not locked"错误
这个错误源于OpenSearch配置中启用了内存锁定,但进程没有获得足够权限完成内存锁定操作。以下分场景给出解决方案:
Docker/docker-compose部署场景
- 编辑你的
docker-compose.yml文件,给OpenSearch节点服务添加权限配置:
services: opensearch-node1: # 保留原有镜像、端口、环境变量等配置 cap_add: - IPC_LOCK ulimits: memlock: soft: -1 hard: -1
- 重启容器生效:
docker-compose down && docker-compose up -d
物理机/虚拟机直接部署场景
- 调整系统内存限制:
编辑/etc/security/limits.conf,添加以下内容:
opensearch soft memlock unlimited opensearch hard memlock unlimited
- 配置systemd服务(若用systemd管理OpenSearch):
编辑/etc/systemd/system/opensearch.service,在[Service]段添加:
LimitMEMLOCK=infinity
重新加载systemd配置并重启服务:
systemctl daemon-reload systemctl restart opensearch
- 验证OpenSearch配置:
确保opensearch.yml中bootstrap.memory_lock设置为true(默认开启),若需临时绕过(不推荐生产环境),可设为false后重启服务。
内容的提问来源于stack exchange,提问作者DrizzleX
相关产品推荐
相关产品推荐

