导航

CentOS 6 ElasticSearch 5.5.x 安装指南

Posted on 2017-09-21 23:13  Simon1020  阅读(185)  评论(0编辑  收藏  举报

背景介绍

最新稳定版的ES 5.5.x版本对系统环境要求比较苛刻,如果不满足的话,是无法正常启动的。大家可以在ElasticSearch入门学习到如何安装ES实例,这里呢,主要向大家介绍如何解决ES在CentOS 6下无法正常启动的问题。

机器环境

  • CentOS 6.3 x64
  • Oracle JDK 1.8

系统参数要求

  • fd 最低需要65536
  • vm 最低262144
  • max locked memory最低64

系统参数修改脚本

注意 要以root身份执行下面的脚本,执行后要重新登录普通账户启动ES

#!/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堆内存,当内存不足时,我们可以进行提升,如下:

-Xms4g
-Xmx4g

除此之外,我们还可以针对性的做各种调整,这里就不再赘述JVM的各参数用法。

启动报错问题

在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
来源:慕课网