elasticsearch集羣安裝

 

1 環境準備html

1 準備三臺cenots7環境,設置好ip hostnamejava

192.168.1.94 es1node

192.168.1.92 es2linux

192.168.1.93 es3api

並將這些信息添加到/etc/hosts,確保可以經過hostname訪問服務器

 

2 下載elasticsearch以及jdkoracle

https://www.elastic.co/downloads/elasticsearchelasticsearch

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlspa

請都選擇rpm版本下載,複製到三服務器上。rest

 

3 安裝jdk以及elasticsearch

在三臺服務都要執行

rpm -i jdk-8u181-linux-x64.rpm

rpm -i elasticsearch-6.3.2.rpm

systemctl enable elasticsearch.service

systemctl start elasticsearch.service

 

systemctl disable firewalld

systemctl stop firewalld

添加elasticsearch服務自動啓動,以及關閉防火牆,這爲了方便起見直接關閉防火牆。

 

 

2配置

1 es1配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es1

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es1", "es2"]

 

編輯後保存

 

cluster.name爲集羣名稱,注意別和其餘集羣同名,不然可能會加錯集羣。

node.name當前節點的hostname

path.data 爲數據的目錄

path.logses自己的log目錄

network.host 爲綁定的ip,0.0.0.0就是對全部的ip開放

http.port 9200es restapi的端口號。9300 爲集羣間通訊端口。

discovery.zen.ping.unicast.hosts: ["es3", "es2"]  #添加集羣中的主機地址,會自動發現並自動選擇master主節點 ,注意因爲集羣是可能動態擴展的,在使用中會動態加節點,可是這裏只要寫當前的集羣節點就能夠了。後面會作演示

 

systemctl restart elasticsearch.service

啓服務後打開http://192.168.1.94:9200/_cluster/state?pretty

能夠看到當前集羣只有一個節點es1,而且爲主節點。

 

2 es2配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es2

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es1", "es2"]

 

 

systemctl restart elasticsearch.service

啓服務後打開http://192.168.1.94:9200/_cluster/state?pretty

 

es2已經加入集羣

 

 

3 es3配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es3

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es3", "es2"]

 

注意es3的配置集羣主機地址並無es1的信息,並且這個時候es1,es2也沒有es3新加入節點的配置信息,可是這並不妨礙集羣的建立。

systemctl restart elasticsearch.service

啓服務後打開http://192.168.1.94:9200/_cluster/state?pretty

es3已經加入集羣

 

3 kibana安裝

https://www.elastic.co/downloads/kibana

下載rpm版本直接rpm -i kibana.rpm

 

修改/etc/kibana/kibana.yml中的

server.host: 0.0.0.0

kibana直接經過localhost:9200來鏈接elasticsearch因此此操做只要在三個節點任一一個節點操做就能夠了。

 

index的集羣副本配置

index.number_of_replicas

最大值爲節點總數-1,不然改索引的就會變成yello狀態。改值的表示須要額外保存的副本數量,以防止數據數據的丟失,能夠動態調整。

 

 

4 關閉服務

es1關閉

 

能夠看到es1已經從集羣中退出

此時從另外節點上查詢數據任然能夠

 

繼續關閉服務器,在設置了合理的number_of_replicas數量下,數據查詢依然是完整的。

相關文章
相關標籤/搜索