【運維筆記】Llinux 安裝Elasticsearch6.5.1 單機版

今天在自己的Linux系統搭建了一套單機版的ElasticSearch,過程遇到很多坑,以此作爲總結,以便日後快速部署:


版本信息及下載:


一、ES安裝:

1、將下載好的tar包上傳到服務器/opt/seesun2012目錄下,執行如下命令(#號後面的纔是可執行命令,下文雷同):

[root@localhost /]#             mkdir /opt/seesun2012        //  新建管理目錄(打在//後面的是註釋,不用複製)
[root@localhost /]#             cd /opt/seesun2012           //  進入seesun2012
[root@localhost seesun2012]#    rz                           // 上傳ES安裝文件

2、解壓安裝包及修改文件名稱,命令如下:

[root@localhost seesun2012]#    tar  -zxvf elasticsearch-6.5.1.tar.gz    // 解壓安裝包
[root@localhost seesun2012]#    ll                                       // 查看目錄文件
[root@localhost elastic]#       mv  elasticsearch-6.5.1  elastic         // 修改文件名

3、創建ES用戶和組(因爲ES不允許使用root用戶執行),命令如下:

[root@localhost /]#    groupadd es                                       // 添加用戶組,組名:es
[root@localhost /]#    useradd es -g es                                  // 添加用戶,格式: 用戶名 -g 組名
[root@localhost /]#    chown -R es:es  /opt/seesun2012/elastic           // 設置目錄權限
[root@localhost /]#    passwd es                                         // 設置es用戶登陸密碼(提示過於簡單繼續確認)

4、修改ES配置文件,執行vi /opt/seesun2012/elastic/config/elasticsearch.yml命令,修改內容如下:

#network.host: 192.168.0.1
network.host: 192.168.2.71

5、啓動ES文件,cd 進入到 /opt/seesun2012/elastic/ 目錄執行如下命令:

[root@localhost seesun2012]#    ./bin/elasticsearch -d                   //  啓動ES服務,-d 代表後臺啓動

6、查看ES動態日誌(Linux面試必問):

[root@localhost elastic]#    tailf /opt/seesun2012/elastic/logs/elasticsearch.log

7、啓動成功示例圖(內網訪問),失敗解決方案在底部:
在這裏插入圖片描述

二、錯誤&解決方案:

1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
原因: 意思是說你的進程不夠用了
解決方案: 切到root 用戶:進入到security目錄下的limits.conf;執行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的參數值:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

2、max number of threads [3803] for user [es] is too low, increase to at least [4096]
原因:意思就是說你的線程數不夠用了
解決方案: 切到root 用戶:執行命令 vi /etc/security/limits.d/20-nproc.conf 修改3803爲4096:

*          soft    nproc     4096
root       soft    nproc     unlimited

如果還是失敗(大多出現在 Centos7 以上),換下面這種:

* hard nproc 4096
* soft nproc 4096
elk soft nproc 4096
root soft nproc unlimited

3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因: 需要修改系統變量的最大值
解決方案:切換到 root 用戶修改配置 /etc/sysctl.conf 增加配置值:vm.max_map_count=655360

執行命令 sysctl -p 這樣就可以了,會顯示如下信息

[root@localhost ~]#    sysctl -p
vm.max_map_count = 262144

4、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不能啓動。詳見 :https://github.com/elastic/elasticsearch/issues/22899

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

bootstrap.memory_lock: false
bootstrap.system_call_filter: false








持續更新中…

如有對思路不清晰或有更好的解決思路,歡迎與本人交流,QQ羣:273557553,個人微信:seesun2012

你的提問是小編創作靈感的來源!
































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章