elasticsearch 單節點搭建與爬坑記錄
prepare
-
虛擬機或者云服務器(這里用的是阿里云ECS)
-
linux---centos7
-
安裝完畢的jdk
-
相應的安裝包(在https://www.cnblogs.com/G-Aurora/p/13099459.html中有快速下載的鏡像站)
-
ps.下文主要指出主要注意的地方,步驟按照標注的數字來即可(撰寫此文時使用的是市面上多數新版參考書所使用的Elasticsearch5.x版)
用戶組
首先需要高度關注的是檔案夾的“歸屬”和權限,
Elasticsearch在Linux下只能通過root用戶啟動,并且為了盡量避免解壓縮后再次回頭修改檔案夾的”歸屬“,我建議使用新建的用戶解壓安裝包,這樣解壓縮后的檔案的歸屬就直接歸屬于新用戶,
-
創建新用戶
若出現如下報錯就是需要解決檔案夾歸屬問題


詳見:https://www.cnblogs.com/G-Aurora/p/13100261.html 中的 “為檔案更改歸屬&賦權”
-
解壓縮安裝包
啟動前修改引數
我個人的建議是要根據自己機器的實際情況判斷是否需要更改,不足的就改,有余的可以不改(以root用戶修改)
vim /etc/security/limits.conf
增加最大檔案數
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

拓展閱讀:https://www.cnblogs.com/youngerger/p/9128245.html
所有配置完成后啟動出現:
ERROR: bootstrap checks failed
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
那是因為配置沒有生效,我們可以使用
ulimit -Hn
來進行檢驗,如果小于等于65535,那么通過
ulimit -Hn 65536
使配置生效,再次使用ulimit -Hn進行檢驗即可
哈哈,但是還是有可能報相同的錯誤
例如在我的啟動程序中,我是使用xshell同時開了為root和es兩個用戶開了兩個視窗,當我在root下修改了limits.conf并ulimit -Hn 65536后,分別使用root和es使用ulimit -Hn進行檢驗,發現兩個用戶的回傳結果不一樣,es的還是默認的65535
此時你可以選擇
- 重啟
- 在回傳了已更改的ulimit -Hn結果的用戶下(root),切換為es再進行啟動,(當然后面的配置要完成),Great,you get it.
vim /etc/security/limits.conf/90-nproc.conf
增大最大行程數
* soft nproc 2048 //修改,而非添加

在我的ECS機器上只發現了20-nproc.conf檔案,配置引數有余,而且應該不用手動創建90-nporoc.conf檔案(后來事實證明也是如此)
拓展閱讀:https://yq.aliyun.com/articles/238584
對于拓展文章的拓展:https://www.cnblogs.com/ftl1012/p/ulimit.html
需要考慮修改nproc的情況 :
- Cannot create GC thread. Out of system resources
- java.lang.OutOfMemoryError: unable to create new native thread
vim /etc/sysctl.conf
增加虛擬記憶體
vm.max_map_count=655360

記得
sysctl -p
啟動
在es用戶下進入elasticsearch/bin
使用
elasticsearch
即可啟動

檢驗
-
通過curl
curl -XGet 'http://localhost:9200/'
-
任意用戶使用jps


解決只能通過localhost+埠訪問的問題
https://www.cnblogs.com/G-Aurora/p/13111162.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/3133.html
標籤:大數據
