1. 程式人生 > >安裝lasticsearch 6.3.0常見錯誤

安裝lasticsearch 6.3.0常見錯誤

lasticsearch 6.3.0 安裝過程中遇到了一些問題,通過查詢資料幾乎都解決掉了,這裡簡單記錄一下 ,供以後查閱參考,也希望可以幫助遇到同樣問題的你。
一、錯誤1:核心過低

在這裡插入圖片描述

我們使用的是centos6,其linux核心版本為2.6。而Elasticsearch的外掛要求至少3.5以上版本。不過沒關係,我們禁用這個外掛即可。

修改elasticsearch.yml檔案,在最下面新增如下配置:

bootstrap.system_call_filter: false

然後重啟

二、錯誤2:檔案許可權不足

再次啟動,又出錯了:

在這裡插入圖片描述

[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

我們用的是leyou使用者,而不是root,所以檔案許可權不足。

首先用root使用者登入。

然後修改配置檔案:

vim /etc/security/limits.conf

新增下面的內容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096

三、錯誤3:執行緒數不夠

剛才報錯中,還有一行:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

這是執行緒數不夠。

繼續修改配置:

vim /etc/security/limits.d/90-nproc.conf 

修改下面的內容:

* soft nproc 1024

改為:

* soft nproc 4096

四、錯誤4:程序虛擬記憶體

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

vm.max_map_count:限制一個程序可以擁有的VMA(虛擬記憶體區域)的數量,繼續修改配置檔案, :

vim /etc/sysctl.conf 

新增下面內容:

vm.max_map_count=655360

然後執行命令:

sysctl -p

所有錯誤修改完畢,一定要重啟你的終端,否則配置無效。

其他常見錯誤:
1、unable to install syscall filter:Java.lang.UnsupportedOperationException:seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349)[elasticsearch-5.0.0.jar:5.0.0]at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
原因:主要是linux的版本過低
解決方案:
重新安裝新版本的linux系統
2、ERROR: bootstrap checks failed:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
原因:無法建立本地檔案問題,使用者最大可建立檔案數太小
解決方案:
切換到root使用者,編輯limits.conf配置檔案, 新增類似如下內容:
vi /etc/security/limits.conf
新增如下內容:

  • soft nofile 65536
  • hard nofile 131072
  • soft nproc 2048
  • hard nproc 4096
    備註:* 代表Linux所有使用者名稱稱(比如hadoop)
    儲存、退出、重新登入才可生效
    3、max number of threads [1024] for user [es] likely too low, increase to at least [2048]
    原因:無法建立本地執行緒問題,使用者最大可建立執行緒數太小
    解決方案:
    切換到root使用者,進入limits.d目錄下,修改90-nproc.conf 配置檔案。
    vi /etc/security/limits.d/90-nproc.conf
    修改 * soft nproc 1024 為 * soft nproc 2048
    4、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
    原因:最大虛擬記憶體太小
    解決方案:
    切換到root使用者下,修改配置檔案sysctl.conf
    vi /etc/sysctl.conf
    新增下面配置:vm.max_map_count=655360
    並執行命令:sysctl -p
    5、ElasticSearch啟動找不到主機或路由
    原因:ElasticSearch 單播配置有問題
    解決方案:檢查ElasticSearch中的配置檔案
    vi config/elasticsearch.yml
    注意此配置格式
    discovery.zen.ping.unicast.hosts:[“192.168..:9300”,“192.168..:9300”]
    6、org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
    原因:ElasticSearch節點之間的jdk版本不一致
    7、Unsupported major.minor version 52.0
    原因:jdk版本太低
    解決方案:elasticsearch5.0.0支援jdk1.8.0
    8、bin/elasticsearch-plugin install license ERROR: Unknown plugin license
    原因:ElasticSearch5.0.0以後外掛命令已經改變
    解決方案:bin/elasticsearch-plugin install x-pack
    9、啟動異常: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,而ES5.2.1預設bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啟動。
    解決方案:在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    10、格式問題:Exception in thread “main” 2017-11-10 06:29:49,106 main ERROR No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property ‘log4j2.debug’ to show Log4j2 internal initialization logging.ElasticsearchParseException[malformed, expected settings to start with ‘object’, instead was [VALUE_STRING]]
    原因:elasticsearch.yml中的配置項的格式有問題
    解決方案:請儘量保持冒號前面沒空格,後面一個空格,不要用tab鍵
    bootstrap.memory_lock: false
    11、ES啟動報錯:bootstrap checks failed
    禁用:在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面
    bootstrap.memory_lock:false
    bootstrap.system_call_filter:false