elasticsearch最大节点数_elasticsearch三个重要的优化

1、内存优化

在bin/elasticsearch.in.sh中进行配置

修改配置项为尽量大的内存:

ES_MIN_MEM=8g

ES_MAX_MEM=8g

两者最好改成一样的,否则容易引发长时间GC(stop-the-world)

elasticsearch默认使用的GC是CMS GC

如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world

建议使用G1 GC

注释掉:

JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC”

JAVA_OPTS=”$JAVA_OPTS -XX:+UseConcMarkSweepGC”

JAVA_OPTS=”$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75″

JAVA_OPTS=”$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly”

修改为:

JAVA_OPTS=”$JAVA_OPTS -XX:+UseG1GC”

JAVA_OPTS=”$JAVA_OPTS -XX:MaxGCPauseMillis=200″

如果G1 GC优点是减少stop-the-world在几率,但是CPU占有率高。

需要更优化的性能,你可以参考

http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html

2、合理配置主节点和数据节点

配置文件:conf/elasticsearch.yaml

node.master: true

node.data: true

1) 当master为false,而data为true时,会对该节点产生严重负荷;

2) 当master为true,而data为false时,该节点作为一个协调者;

3) 当master为false,data也为false时,该节点就变成了一个负载均衡器。

3、设置合理的刷新时间

建立的索引,不会立马查到,这是为什么elasticsearch为near-real-time的原因

需要配置index.refresh_interval参数,默认是1s。

你可以像

http://zhaoyanblog.com/archives/299.html

文件中一样,调用接口配置

也可以直接写到conf/elasticsearch.yaml文件中

index.refresh_interval:1s

这样所有新建的索引都使用这个刷新频率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值