1. 程式人生 > >記一次ES安裝的採坑記錄

記一次ES安裝的採坑記錄

今天心血來潮,想玩玩ES(elasticSearch),我使用的作業系統版本是:CentOS7.4,ES版本是:6.3.2,Java版本是:8u181。具體的下載步驟這裡不再做詳細介紹。

安裝完Jdk後開始安裝es。

第一步:在/usr下新建資料夾:/es。將es的壓縮包解壓到/usr/es下,使用命令

$ tar -zxcv elasticsearch-6.3.2.tar.gz

解壓此檔案,得到:elasticsearch-6.3.2資料夾。

第二步:進入/usr/es/elasticsearch-6.3.2/bin目錄下,執行:

$ ./elasticsearch

不出意外的情況下會報錯:
這裡寫圖片描述

意思是無法使用root使用者啟動。那我們就新建個es使用者並設定密碼:

$ useradd es
$ passwd 123456

建立完成之後我們再進入之前的/usr/es/elasticsearch-6.3.2/bin路徑下,執行

$ ./elasticsearch

可能還是會報錯:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

第三步: 切回root使用者

$ su root

ulimit -Hn 檢視硬限制,發現是4096
執行:

$ vim /etc/security/limits.conf 

加上兩行:
* soft nofile 65536
* hard nofile 65536

退出當前使用者,再次登入,檢視設定: ulimit -Hn
發現引數變成了 65536。

問題:
max number of threads [3895] for user [elk] is too low, increase to at least [4096]

$ vi /etc/security/limits.d/90-nproc.conf 

修改如下內容:

* soft nproc 1024

修改為

* soft nproc 2048

第四步:重啟系統,進入es使用者,進入/usr/es/elasticsearch-6.3.2/bin路徑下,執行啟動命令:./elasticsearch
服務可以正常啟動。

使用命令:

$ curl localhost:9200

會輸出下面的內容:
這裡寫圖片描述

說明es啟動成功。

第五步:配置外網ip可以訪問。
vim /usr/es/elasticsearch-6.3.2/elasticsearch.yml編輯配置檔案,修改:
這裡寫圖片描述

修改完成之後記得看下防火牆的狀態:

$ systemctl status firewalld

如果是下面這樣的:
這裡寫圖片描述

那就說明防火牆是啟動狀態,我們需要關閉它,執行:

$ systemctl stop firewalld

執行完畢之後,再次檢視防火牆狀態:
這裡寫圖片描述

這樣就成功關閉了防火牆。

我們在瀏覽器中輸入伺服器的ip:9200,會得到下面的結果:
這裡寫圖片描述
表示我們的ES服務啟動成功~