CentOS 6 ElasticSearch 5.5.x 安裝指南
背景介紹
最新穩定版的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
來源:慕課網
CentOS 6 ElasticSearch 5.5.x 安裝指南