Elasticsearch 單機叢集配置 與 宕機模擬
阿新 • • 發佈:2019-02-13
單機叢集配置
1. 叢集安裝
下載 elasticsearch
解壓並把目錄改名為 es
, 複製兩份, 第一份 es1
, 第二份 es2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
tar -zxf elasticsearch-6.3.0
mv elasticsearch-6.3.0 es
cp -r es ./es1
cp -r es ./es2
假設現在3個es節點都為 master
修改 es
配置檔案
vim ./es/config/elasticsearch.yml
修改如下
# 叢集名稱
cluster.name: my-test
# 節點名稱
node.name: es
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
同理修改 es1
與 es2
配置檔案 elasticsearch.yml
, 修改如下
# es1
cluster.name: my-test
node.name: es1
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
# es2
cluster.name: my-test
node.name: es2
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
2. head外掛安裝
head外掛使用方法也不做詳細介紹了
3.驗證
分別到 es/bin
es1/bin
es2/bin
目錄下執行命令
elasticsearch -d
在 chrome
瀏覽器開啟外掛 ElasticSearch Head
, 看到下圖即為成功
漂亮~
宕機模擬
執行命令記下 es1
的pid, 並殺掉程序
ps -ef | grep es1
kill -9 es1的pid
重新整理外掛 Elasticsearch Head
頁面, 看到下圖, 剩下 es
和 es2
節點
完美~