elasticsearch 6.3.2 集群系统预配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wanglei_storage/article/details/82219043

说明

所有节点的系统预配置都是一样的


一、配置 Elasticsearch 进程可打开的系统文件数

1、系统配置

ulimit -n 65536

2、/etc/security/limits.conf 配置

root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
tracker soft memlock unlimited
tracker hard memlock unlimited

二、关闭 swapping

ES在系统swap虚拟内存频繁交换的时候性能表现不佳,所以建议关闭系统虚拟内存

1、如果是自己的服务器,则需要关闭 /etc/fstab 中 swap的挂载

sudo swapoff -a

2、内核参数来禁用swap
linux 系统上可用的另一个选项是确保 sysctl 值 VM swappiness 设置为1.这降低了内核交换的倾向,不应导致在正常情况下交换,同时仍然允许整个系统在紧急情况下交换。

vm.swappiness = 0

三、虚拟内存

max_map_count 文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有的VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上限但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用

sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count = 262144' >> /etc/sysctl.conf

四、线程数量

对于不同类型的操作,elasticsearch 使用多个线程池。重要的是,它能够在需要时创建新线程。确保 elasticsearch 搜索用户可以创建的线程池为4096

这可以通过在启动 elasticsearch 之前通过root执行 ulimit -u 4096,或者通过 /etc/security/limit.conf 中设置nproc为4096

* hard nproc 4096
* soft nproc 4096

五、安装JDK

version:jdk1.8.0_151

猜你喜欢

转载自blog.csdn.net/wanglei_storage/article/details/82219043