Elasticsearch 冷熱分離
阿新 • • 發佈:2018-11-24
為了不浪費伺服器資源(每臺機器上均配置有SSD和大儲存,且記憶體配置較高),提高ES讀寫效能,我們嘗試進行了ES叢集冷熱分離的配置。
測試環境
兩臺機器,均配置有SSD和SATA盤。每臺機器上執行兩個ES例項,其中一個例項配置data目錄為SSD
- 解壓安裝(兩臺機器)
mkdir -p /data/mdware
cd /data/mdware
tar -zxf elasticsearch-2.2.1.tar.gz
ln -s /data/mdware/elasticsearch-2.2.1 /data/mdware/es
cd /data/mdware/es/conf
mkdir instance1
mkdir instance2
cp elasticsearch.yml instance1
mv elasticsearch.yml instance2
cp logging.yml instance1
mv logging.yml instance2 - 配置(四個配置檔案,注意區別)
action.auto_create_index : -protocol*,+* cluster.name: knowops #分別取名為kone1.2.3.4 node.name: "kone1" # kone2配置為 /ssd/kone2data(/ssd SSD掛載目錄) path.data: /data/mdware/elasticsearch-2.2.1/kone1data path.logs: /data/mdware/elasticsearch-2.2.1/kone1log bootstrap.mlockall: true # IP network.host: 192.168.211.129 node.max_local_storage_nodes: 2 http.cors.enabled : true http.cors.allow-origin : "*" index.number_of_replicas: 0 discovery.zen.ping.unicast.hosts: ["192.168.211.129:9300","192.168.211.130:9300"]
-
啟動
cd /data/mdware/es
ulimit -n 655360(開啟檔案數最低要求為65536)
export ES_HEAP_SIZE=16g(我的配置為1/8記憶體)
bin/elasticsearch -Des.insecure.allow.root=true -Des.path.conf=config/instance1 -d --node.tag=hot(SSD配置為hot節點)
export ES_HEAP_SIZE=16g(1/8記憶體)
bin/elasticsearch -Des.insecure.allow.root=true -Des.path.conf=config/instance2 -d --node.tag=stale -
模板配置
vi database.template.json
{
"template":"ni-database-*",
"settings":{
"index.number_of_replicas":"0",
"index.routing.allocation.require.tag" : "hot" //配置寫入hot節點
},
"mappings":{
"_default_":{
"_all":{
"enabled":false,
"norms":{
"enabled":false
}
},
"dynamic_templates":[
{
"template1":{
"mapping":{
"doc_values":true,
"ignore_above":1024,
"index":"not_analyzed",
"type":"{dynamic_type}"
},
"match":"*"
}
}
],
"properties":{
"timeStart":{
"type":"date"
}
}
}
}
}
curl -XPUT 192.168.211.130:9200/_template/ni-database-template -d @database.template.json
- 定時任務
我們的索引是按天生成的,所以每天00:30定時任務移動資料到stale節點
#/bin/bash
time=`date -d last-day "+%Y.%m.%d"`
curl -XPUT http://localhost:9200/*-${time}/_settings?pretty -d'
{
"index.routing.allocation.require.tag": "stale"
}'
- 叢集效果(kopf外掛)
轉:https://www.jianshu.com/p/f13a6dbb84ed