1. 程式人生 > >elasticsearch5.0啟動出現的錯誤(自己做過測試,有錯誤可以在這上面找)

elasticsearch5.0啟動出現的錯誤(自己做過測試,有錯誤可以在這上面找)

elasticsearch5.0啟動失敗,出現如下提示:

1、Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

由於elasticsearch5.0預設分配jvm空間大小為2g,修改jvm空間分配

    # vim config/jvm.options
    -Xms2g
    -Xmx2g

修改為

    -Xms512m
    -Xmx512m


2、max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]

修改 /etc/security/limits.d/90-nproc.conf 

*          soft    nproc     1024

*          soft    nproc     2048


3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改/etc/sysctl.conf配置檔案,

cat /etc/sysctl.conf | grep vm.max_map_count
vm.max_map_count=262144

如果不存在則新增

echo "vm.max_map_count=262144" >>/etc/sysctl.conf


4、max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]


ulimit -n 65536

以下是在5.5.1是踩過的坑


5、啟動異常:ERROR: bootstrap checks failed

system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk


問題原因:因為Centos6不支援SecComp,而ES預設bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啟動。詳見 :https://github.com/elastic/elasticsearch/issues/22899


解決方法:在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false


6、logstash使用rpm包安裝的時候沒有配置init的啟動指令碼

預設情況使用rpm包安裝完logstash之後沒有啟動指令碼。官網給了一個指令碼,需要根據不同的系統版本生成對應的啟動指令碼,而且官網沒有給明使用方法,對於新使用者來說算是個坑,不過在終端可以檢視到指令碼的使用幫助# /usr/share/logstash/bin/system-install --help

生成啟動指令碼,centos6使用sysv引數,centos7使用systemd

# /usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv

Successfully created system startup script for Logstash
--------------------- 
作者:蜷縮的蝸牛 
來源:CSDN 
原文:https://blog.csdn.net/qq942477618/article/details/53414983 
版權宣告:本文為博主原創文章,轉載請附上博文連結!