在默认情况下,es认为你运行在开发环境,有些设置没有正确设置,则会记录一条提醒的日志。但是一旦你设置了network.host这样的高级设置,es则认为你运行在生产环境了,上面的提醒则会变成异常抛出。
系统设置
设置最大文件打开数目
/etc/security/limits.conf 添加
elasticsearch - nofile 65536
设置jvm堆内存
默认在jvm.options文件中设置jvm为2g内存。对于生产环境尽量重新设置内存占用大小。
1最小堆内存和最大堆内存要一致(否则在内存扩容会出现灾难性的等待)
2堆内存设置越大,则缓存的数据就越大,同样垃圾回收也会越耗时
3堆内存设置要少于机器总内存的一半,确保有足够内存就给系统使用
4注意内存设置上限。一般上限在32GB附近。具体可以查看日志(heap size [1.9gb], compressed ordinary object pointers [true])
5在大部分系统中内存使用小于26G是安全,当然在某些系统也可以使用30G,你可以确认你使用的内存在安全线之下,你可以在jvm参数中添加
-XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode
并且查找一条日志
heap address: 0x000000011be00000, size: 27648 MB, zero based Compressed Oops
如果出现如下日志则说明内存设置过大
heap address: 0x0000000118400000, size: 28672 MB, Compressed Oops with base: 0x00000001183ff000
禁止交换空间
使用内存交换空间会导致垃圾回收时间长达分钟,并且导致请求变慢,甚至与集群失去连接。所以尽量要避免其出现。
第一种方法:
在文件
config/elasticsearch.yml
中设置
bootstrap.memory_lock: true
启动之后可以通过请求
GET _nodes?filter_path=**.mlockall
来验证。如果mlockall是false,则说明设置失败,你可能需要看更多的日志查看失败原因。
对于大部分linux系统来说失败的主要原因是权限不够
对于zip,tar.gz解压缩文件可以在启动es前设置ulimit -l unlimited或者在文件/etc/security/limits.conf中设置memlock为unlimited
另一个原因可能是临时文件夹(/tmp)不具有执行权限,建议直接更换临时目录
第二种方法:
可以通过
sudo swapoff -a
临时禁止交换空间,或者编辑
/etc/fstab
注释掉所有有
swap
的行来永久禁止。
window则
Properties → Advanced → Performance → Advanced → Virtual memory
。
第三种方式
在linux中确认sysctl中的vm.swappiness值为1.在正常情况下减少核心对交换空间使用的倾向,但是在紧急情况下还是会使用
文件描述符
对于linux和mac os来说需要设置文件操作符至少65536,如果是zip或者tar.gz包则需要在es启动前使用root设置ulimit -n 65536 或者设置nofile为65536.
查看es的最大文件操作符
GET _nodes/stats/process?filter_path=**.max_file_descriptors
虚拟内存
es使用mmapfs来保存索引,但是默认的内存映射的数量太小,所以会导致内存溢出。在linux需要使用root账号执行
sysctl -w vm.max_map_count=262144
。如果想永久修改则修改文件/etc/sysctl.conf中的vm.max_map_count的值。重启后执行sysctl vm.max_map_count来验证成功
线程数
确认es可以创建至少2048个线程。启动es前使用root账号执行ulimit -u 2048,或者在文件/etc/security/limits.conf设置nproc为2048。
分享到:
相关推荐
IEC 61375-2-5-2014作为TCN标准的重要组成部分,对于确保列车通信系统的高效运行和兼容性具有重要意义。通过对以太网列车骨干的具体技术要求和测试方法的规定,该标准不仅促进了列车通信网络技术的发展,也为列车...
这些设置对于确保伺服系统能够适应不同负载条件和运行环境至关重要。 3. **软件功能**:该软件提供友好的用户界面,使得参数配置和故障排查变得更加直观。它支持在线监控伺服状态,包括电流、速度、位置等实时数据...
这些参数需在PLC系统的通讯设置中进行配置,以确保FX2N-232-BD模块与外部设备之间的通信稳定可靠。 #### 五、总结 通过上述步骤,我们可以清晰地了解到三菱FX2N-232IF及FX2N-232-BD模块的基本设置方法,包括电源...
这使得 iLO2 成为了服务器管理的重要工具。 #### 三、使用 iLO2 安装 Windows Server 2008 操作系统 ##### 3.1 准备工作 1. **iLO2 管理接口访问:** - 确保已连接至 iLO2 接口,并能够通过 Web 浏览器登录。 -...
5. **调试与测试**:设置完成后,可以通过软件进行动态调试,比如运行电机,观察其运行状态,如速度、位置误差等。如果出现异常,可依据反馈调整相关参数,直至达到满意的运行效果。 6. **保存与下载**:调试满意后...
5. 故障排除:MR-J2S伺服系统在调试过程中可能会出现各种问题,如系统无法启动、电机不转、定位不准确等。这可能是因为参数设置不当、接线错误、电源不稳定或者其他机械结构的问题。系统故障时,应首先使用故障诊断...
本文将深入解析与"S-1-5-21"相关的权限问题及其解决方案,基于Windows系统从XP升级到Win7后的具体实例。 ### S-1-5-21:SID(安全标识符) "S-1-5-21"是一个安全标识符(SID),它用于标识一个域或一个用户/组。在...
三菱通讯NZ2MFB1-32DT是一款用于CC-Link IE Field Basic网络的远程模块,适用于三菱FX5U PLC系统,扩展了PLC的I/O点数和距离。CC-Link IE Field Basic是一种基于以太网的现场网络技术,用于连接控制器与远程I/O、...
Oracle Database Server...总结一下,Oracle Database Server 12cR2 Preinstall是Oracle数据库在Linux环境中快速、高效部署的重要工具,它简化了系统准备阶段,确保了安装的顺利进行,是企业级数据库管理者的得力助手。
6. **安装与部署**:实践中安装Sparc T5-2 通常涉及以下步骤:硬件组装、初始化系统、安装Solaris操作系统、配置网络和存储、安全设置以及系统优化。为了节省在机房中的探索时间,理解安装过程和相关工具的使用至关...
2. 系统防火墙设置:确保开放必要的端口,以便Greenplum数据库实例间的通信。 3. 数据安全:在生产环境中,务必设置好权限和访问控制,防止未授权访问。 总结,Greenplum数据库4.2.2.4的安装涉及多个步骤,包括系统...
在IT行业中,嵌入式开发是一项重要的工作领域,而MCD2--ICD2仿真调试器则是其中不可或缺的工具。本文将深入探讨MCD2--ICD2仿真调试器及其USB驱动程序,帮助用户理解其功能、作用以及如何正确安装和使用。 MCD2--ICD...
JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要影响。 在设置 JAVA-OPTS 变量时,需要注意以下几个方面: 1. -server:这个参数一定要作为第一个参数,否则可能会导致性能下降。在多个 CPU 时性能佳...
西门子冗余系统设置实例 本资源通过详细的步骤和实践经验,介绍了西门子冗余系统的设置过程,涵盖了硬件组态、软件平台、网络结构、冗余PLC设置、ET200SP模块设置、PROFINET参数设置等方面的知识点。 知识点1:...
在使用扫描枪进行工作时,以上知识点涵盖了从设备的基本使用、系统设置到无线通讯配置及条码数据格式和参数的具体设置。每个操作环节都应严格遵循用户手册的指导以保障设备的正常运行。由于扫描枪在许多行业中都被...
5. 保存设置并启动仿真。 电机start server是另一个关键功能,它允许用户模拟PLC控制电机的过程。在实际的工业应用中,PLC通过各种输入/输出(I/O)信号与电机等设备交互,控制它们的启动、停止、速度等参数。在...
在Linux操作系统中,网络通信管理和系统服务管理是两个至关重要的方面。通过熟练掌握相关的命令,可以有效地监控和调整系统的网络连接以及服务运行状态。以下是对实验报告中涉及的知识点的详细解释: 1. **网络管理...
综上所述,《电力二次系统安全防护规定》(电监会5号令)旨在通过一系列的技术措施和管理手段,确保电力系统的安全稳定运行,防范潜在的安全威胁。该规定对电力企业的安全管理提出了具体要求,并明确了相关部门的...
AIX操作系统中,有一个重要的安全机制,即自动断开时间设置。该机制可以限制用户的登录时间,从而提高系统的安全性。本文将详细介绍AIX会员自动断开时间设置的配置方法。 什么是自动断开时间设置? ---------------...