elasticsearch 單節點搭建與爬坑記錄

elasticsearch 單節點搭建與爬坑記錄

 

prepare

 

  • 虛擬機或者雲服務器(這裏用的是阿里雲ECS)html

  • linux---centos7java

  • 安裝完畢的jdklinux

  • 相應的安裝包(在https://www.cnblogs.com/G-Aurora/p/13099459.html中有快速下載的鏡像站)shell

  • ps.下文主要指出主要注意的地方,步驟按照標註的數字來便可(編寫此文時使用的是市面上多數新版參考書所使用的Elasticsearch5.x版)bootstrap

 

用戶組

首先須要高度關注的是文件夾的「歸屬」和權限。vim

Elasticsearch在Linux下只能經過root用戶啓動。而且爲了儘可能避免解壓縮後再次回頭修改文件夾的」歸屬「,我建議使用新建的用戶解壓安裝包,這樣解壓縮後的文件夾的歸屬就直接歸屬於新用戶。centos

  1. 建立新用戶服務器

    詳見:curl

    http://www.javashuo.com/article/p-wxlmecgj-bs.htmlelasticsearch

  2. 解壓縮安裝包

 

啓動前修改參數

我我的的建議是要根據本身機器的實際狀況判斷是否須要更改,不足的就改,有餘的能夠不改(以root用戶修改

 

vim /etc/security/limits.conf

增長最大文件數

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

拓展閱讀:http://www.javashuo.com/article/p-oywwkovl-bs.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+端口訪問的問題

http://www.javashuo.com/article/p-hvcvguun-bs.html

相關文章
相關標籤/搜索