記一次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服務啟動成功~