如题,Elasticserch 内存小,造成jvm的内存溢出,或者就是集群状态变为Red。

网上很多都是不经过自己的操作,下面贴代码。

下面是调参的方法

源码的调参,就是找到文件

[root@localhost bin]# pwd
/home/data/elasticsearch-1.5.2/bin
[root@localhost bin]# ls
1.json             elasticsearch.in.bat           elasticsearch-service-x64.exe  feed-mysql.sh       mysql-connector-java-5.1.33      plugin.bat
elasticsearch      elasticsearch.in.sh            elasticsearch-service-x86.exe  feed-mysql-test.sh  mysql-connector-java-5.1.33.zip  score-query.sh
elasticsearch.bat  elasticsearch-service-mgr.exe  feed-mysql2.sh                 marvel-latest.zip   plugin                           service.bat
vim ./elasticsearch.in.sh#找到如下参数,修改为自己需要的,我的是2g,2个值最好一样,容易引发长时间GC(stop-the-world)
if [ "x$ES_MIN_MEM" = "x" ]; then
    ES_MIN_MEM=2g
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
    ES_MAX_MEM=2g
fi


yum安装的位置

 vim /etc/sysconfig/elasticsearch
 # Heap Size (defaults to 256m min, 1g max)
ES_HEAP_SIZE=2g #yum 安装的就一个值,已经为我们优化了。

提示:推荐用rpm的方式,因为已经为我们优化了很多参数,当然源码的,也可以自己修改下列参数。

sysctl -w vm.max_map_count=262144

ulimit -l unlimited

ulimit -n 65535