IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> bootstrap.memory_lock -> 正文阅读

[大数据]bootstrap.memory_lock

由于当jvm开始swapping时es的效率会降低,所以要保证它不swap,这对节点健康极其重要。实现这一目标的一种方法是将?bootstrap.memory_lock?设置为true。
要使此设置有效,首先需要配置其他系统设置。有关如何正确设置内存锁定的更多详细信息,请参阅启用bootstrap.memory_lock。

bootstrap.memory_lock: 是否锁住内存,避免交换(swapped)带来的性能损失,默认值是: false
bootstrap.system_call_filter: 是否支持过滤掉系统调用。elasticsearch 5.2以后引入的功能,在bootstrap的时候check是否支持seccomp。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
检查bootstrap.memory_lock设置是否生效:
get http://10.127.0.1:9200/_nodes?filter_path=**.mlockall
响应:
{
    "nodes": {
        "9giihmDNRdS136KT52Gl5g": {
            "process": {
                "mlockall": true
            }
        },
        "X0zQESeeT8uJ9kVXvHpl-w": {
            "process": {
                "mlockall": true
            }
        },
        "w4hYw86rQhqL1ayGyUK1Kw": {
            "process": {
                "mlockall": true
            }
        }
    }
}
Copy

如果看到mlockall为false,则表示mlockall请求失败。还将在日志中看到一行”Unable to lock JVM Memory”。

elasticsearch报错之 memory locking requested for elasticsearch process but memory is not locked:

安装elasticsearch报错如下:

1
2
3
[2019-01-14T03:57:16,453][ERROR][o.e.b.Bootstrap          ] [ip-172-31-30-62.ec2.internal] node validation exception
[1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked
Copy

网上查找资料,发现都不是适应自己的环境。最后在官网找到了方法:

不过先跟大家声明一点就是:环境不一样解决的方法也不一样,这里是Centos7.5版本的系统,所有的服务都由systemd来管理。elasticsearch是6.5.4版本,使用RPM包的方式安装的。

现在我们开始解决问题:

1、修改/etc/sysconfig/elasticsearch文件调整JVM内存大小

1
2
3
4
5
#ES_JAVA_OPTS="-Xms16g -Xmx16g" (内存大小也可以在/etc/elasticsearch/jvm.options配置文件中定义,或者ES_HEAP_SIZE=16g)
JAVA_HOME=/usr/java/jdk1.8.0_51
ES_HEAP_SIZE=16g
MAX_OPEN_FILES=655350
MAX_LOCKED_MEMORY=unlimited
Copy

替换16g为总内存的一半(Elasticsearch官方建议是主机总内存的一半)

2、修改/etc/security/limits.conf文件内容

1
2
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
Copy

需要将elasticsearch替换为运行Elasticsearch程序的用户,使用root执行:service elasticsearch start实际上是以elasticsearch用户来执行

3、在/etc/systemd/system/elasticsearch.service.d目录下创建一个文件override.conf,并添加下列内容

1
2
3
[Service]
LimitMEMLOCK=infinity
详情可以参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd
Copy

4、最后重新载入配置文件更新服务

systemctl daemon-reload

5、重启elasticsearch

service elasticsearch restart

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:27:35  更:2022-03-16 22:29:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:22:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码