背景介紹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來源:慕課網