背景介绍shell
最新稳定版的ES 5.5.x版本对系统环境要求比较苛刻,若是不知足的话,是没法正常启动的。你们能够在ElasticSearch入门学习到如何安装ES实例,这里呢,主要向你们介绍如何解决ES在CentOS 6下没法正常启动的问题。bootstrap
机器环境bash
系统参数要求jvm
系统参数修改脚本elasticsearch
注意 要以root身份执行下面的脚本,执行后要从新登陆普通帐户启动ESoop
#!/bin/bash echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf echo "* soft memlock unlimited" >> /etc/security/limits.conf echo "* hard memlock unlimited" >> /etc/security/limits.conf echo "vm.max_map_count = 262144" >> /etc/sysctl.conf sysctl -p ulimit -l unlimited
JVM参数学习
ES 5.5.x的JVM参数配置方式和以往2.x等版本不一样,它独立出了一个jvm.options的文件在config目录下,咱们能够经过修改jvm.options里的参数来指定ES启动须要的JVM环境,好比ES默认是2G堆内存,当内存不足时,咱们能够进行提高,以下:spa
-Xms4g -Xmx4g
除此以外,咱们还能够针对性的作各类调整,这里就再也不赘述JVM的各参数用法。code
启动报错问题索引
在CentOS 6下运行ES 5.5.x版本时,可能会遇到以下报错信息:
bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks ERROR: [1] bootstrap checks failed... [1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
遇到这些错误信息不要慌,这是由于CentOS 6内核不支持SecComp,而ES 5.5.x默认是要执行检测命令的,因此这里咱们把这个环境检测禁掉,就能够正常运行了,参数以下:
bootstrap.system_call_filter: false
在配置文件elasticsearch.yml追加便可
总结
ElasticSearch 5.5.x 相对之前的2.x版本,是基于Lucene 6来构建的,它增长了36%的查询速度,增长了71%的索引速度,而且减小了66%的硬盘空间占用,还较少了85%的内存使用,同时还新增IP字段,以支持IP4和IP6,在各方面超越了以往的历史版本,但愿你们可以经过学习ElasticSearch入门这门课程,提高本身的核心竞争力,也祝你们可以步步高升,生活愉快^_^。
做者: 瓦力老师 连接:http://www.imooc.com/article/20336来源:慕课网