如何提高ES索引创建效率

1.JDK:1.7.0_55之后版本,55之前JDK有一些BUG会导致索引文件毁坏
2.JAVA堆配置不是越大越好,建议配置不超过物理内存的一半,其余内存留给操作系统的IO缓存管理
3.ES版本1.3.2以上
4.修改es堆内存,ES_MIN_MEM(相当于-Xms,默认256m),  ES_MAX_MEM(相当于-Xmx,默认1g)
5.增加打开文件句柄数,推荐设置为32k-64k.将-Des.max-open-files设置为true可以在启动的时候打印出每个进程能打开的最大文件数;也可以为每个节点重新设置max_file_descriptors
6.虚拟内存设置:修改/etc/sysctl.conf文件中vm.max_map_count参数为262144设置一个进程可以拥有的VMA(虚拟内存区域)的数量。运行sysctl vm.max_map_count命令查看设置。
7.需要避免ES被Swap out,有三种策略:
   1)禁止swap,用在只需要运行es的情况,命令:sudo swapoff -a,若要永久生效,需要修改/etc/fstab,将任何包含swap的行注释掉
   2)配置vm.swappiness=0
   3)修改config/elasticsearch.yml文件配置bootstrap.mlockall: true,配置完通过curl http://localhost:9200/_nodes/process?pretty检查配置是否生效,否则需要执行ulimit -l unlimited赋予权限,或者重启ES通过命令:./bin/elasticsearch -Djna.tmpdir=/path/to/new/dir
8.使用bulk api,多线程并发创建。
9.存储设备,最好是SSD硬盘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值