elasticsearch單機集羣配置

 

1、下載

https://www.elastic.co/downloads/past-releasesnode

選擇要下載的版本,由於從6.0開始有比較大的變更,全部仍是選擇了5.x的版本,我選擇的是5.6.4版本。git

es_downgithub

Es_dirnpm

我想要在一臺機器上部署3個實例,因此複製了2個,共有3個es目錄(目錄的名字已經修改了,也能夠不用修改)。Head是head插件,後面一點介紹。Readme是本身添加的一些注意事項,能夠不要。cors

Es_datajvm

 

複製的時候注意,如上圖所示,若是原來已經運行過,也就是data目錄下有nodes目錄,新複製的es必須先刪除nodes目錄,不然啓動會出錯。elasticsearch

 

2、配置

Config_dirtcp

 

主要是elasticsearch.yml和jvm.options配置文件,下面主要介紹一些elasticsearch.yml配置,這個文件主要配置的是es相關的。spa

 

http.port配置是elasticsearch對外提供服務的http端口配置,默認狀況下ES會取用9200~9299之間的端口,若是9200被佔用就會自動使用9201,在單機多實例的配置中這個配置實際是不須要修改的。插件

 

 transport.tcp.port配置指定了elasticsearch集羣內數據通信使用的端口,默認狀況下爲9300,與上面的http.port配置相似, ES也會自動爲已佔用的端口選擇下一個端口號。咱們能夠將第一個實例的tcp傳輸端口配置爲9300,第二實例配置爲9301

 

注意:上面2個端口會自動選擇下一個端口的前提條件是,沒有顯示配置這2個端口

 

node.max_local_storage_nodes配置限制了單節點上能夠開啓的ES存儲實例的個數,由於咱們想要在一臺機器上啓動3個實例,因此配置爲3

 

# http.port: 9200

# transport.tcp.port: 9300

# network.host: 127.0.0.1

node.max_local_storage_nodes: 3

cluster.name: es_cluster

node.name: es_node1

node.master: true

# head 插件須要配置,不然會出現未鏈接

http.cors.enabled: true

http.cors.allow-origin: "*"

 

Mem

如上圖所示,一個es實例大概須要1.35G的樣子,由於es默認初始化須要的內存配置爲2g,又由於本身的機器內存有限,因此須要修改一下es啓動的jvm參數,jvm參數配置在jvm.options文件之中。只須要修改一個參數就能夠了,-Xms表明的是初始化內存,-Xmx是最大內存。由於不能配置小數,因此把-Xms初始化內存配置爲1g就能夠了。

-Xms1g

-Xmx2g

 

3、head插件

 

Head 插件運行環境須要nodejs,因此先下載nodejs安裝

https://nodejs.org/en/download/

 

在github上下載head插件

https://github.com/mobz/elasticsearch-head/

head的文檔已經說的很清楚了,基本就按下面步驟來就能夠了,一下其餘的細節能夠看head的readme文件。

 

git clone git://github.com/mobz/elasticsearch-head.git

cd elasticsearch-head

npm install

npm run start

open http://localhost:9100/

 

Head-dir

 

4、es啓動

 

Es5.x依賴jdk8.0及以上的版本,因此先要安裝jdk8及以上的版本。還須要配置JAVA_HOME,就是到bin目錄的的父目錄。

Bin_dir

 

若是一切配置沒有問題的話,在Windows下能夠直接運行elasticsearch.bat啓動es。

Cluster

若是head已經啓動了就能夠直接訪問http://localhost:9100/,而後鏈接http://localhost:9200/就能夠看到集羣相關的信息,執行一些簡單的操做。

相關文章
相關標籤/搜索