您好,登錄后才能下訂單哦!
注意:演示用的2節點es,有些參數配置不太合理,生產環境還需要更嚴格的參數設定(例如必須開啟密碼驗證)。
系統版本:CentOS7
節點規劃:
熱數據節點:? 192.168.2.4
溫數據節點:? 192.168.2.190
PS:這里就沒分 hot warm cold 這種三級存儲,我們一般使用 hot warm 2種即可。
我們這里使用 tar.gz 通用二進制文件
useradd es
# cat /etc/security/limits.d/elasticsearch.conf?
es?-?nofile?65535 es?-?noproc?65535 es?-?memlock?unlimited
cd /usr/local/elasticsearch-7.4.2/
mkdir data logs?
chown es.es? /usr/local/elasticsearch-7.4.2/ -R
su - es
cd /usr/local/elasticsearch-7.4.2/
熱數據節點:? 192.168.2.4 的配置如下:
cat config/elasticsearch.yml?
cluster.name:?my-application node.name:?node-1 node.attr.rack:?r1 node.attr.temperature:?hot path.data:?./data/ path.logs:?./logs node.master:?true node.data:?true node.ingest:?true bootstrap.memory_lock:?true network.host:?0.0.0.0 http.port:?9200 cluster.initial_master_nodes:? ??-?192.168.2.4:9300 ??-?192.168.2.190:9300 ?? discovery.seed_hosts: ??-?192.168.2.4 ??-?192.168.2.190 ?? gateway.recover_after_nodes:?1 #action.destructive_requires_name:?true #############?xpack?的配置項?#################### #xpack.security.enabled:?true #xpack.security.transport.ssl.enabled:?true xpack.security.audit.enabled:?true xpack.security.audit.logfile.events.include:?access_denied,?access_granted,?anonymous_access_denied,?authentication_failed,connection_denied,?tampered_request,?run_as_denied,?run_as_granted xpack.security.audit.logfile.emit_node_host_address:?true xpack.security.audit.logfile.emit_node_host_name:?true xpack.sql.enabled:?true xpack.ilm.enabled:?true
溫數據節點:? 192.168.2.190
cat config/elasticsearch.yml?
cluster.name:?my-application node.name:?es11 node.attr.rack:?r1 node.attr.temperature:?warm path.data:?./data/ path.logs:?./logs node.master:?true node.data:?true node.ingest:?true bootstrap.memory_lock:?true network.host:?0.0.0.0 http.port:?9200 cluster.initial_master_nodes:? ??-?192.168.2.4:9300 ??-?192.168.2.190:9300 ?? discovery.seed_hosts: ??-?192.168.2.4 ??-?192.168.2.190 gateway.recover_after_nodes:?1 #action.destructive_requires_name:?true #############?xpack?的配置項?#################### #xpack.security.enabled:?true #xpack.security.transport.ssl.enabled:?true xpack.security.audit.enabled:?true xpack.security.audit.logfile.events.include:?access_denied,?access_granted,?anonymous_access_denied,?authentication_failed,connection_denied,?tampered_request,?run_as_denied,?run_as_granted xpack.security.audit.logfile.emit_node_host_address:?true xpack.security.audit.logfile.emit_node_host_name:?true xpack.sql.enabled:?true xpack.ilm.enabled:?true
啟動腳本:?
# cat start.sh?
#?es?依賴高版本的jdk?需要先export下 export?JAVA_HOME=./jdk/ nohup?./bin/elasticsearch?>/dev/null?2>&1?&
停止腳本:
# cat stop.sh?
kill?$(jps|?grep?Elasticsearch?|?awk?'{print?$1}')
創建索引,并將數據搬遷到hot節點:
curl?-H?'Content-Type:?application/json'?-X?PUT?http://localhost:9200/index-2019.10.19?pretty curl?-H?'Content-Type:?application/json'?-X?PUT?http://localhost:9200/index-2019.10.19/_settings?-d?' { ??"index.routing.allocation.require.temperature":?"hot" }'
如果要將 index-2019.10.19 的數據搬遷到溫節點,我們使用下面的這個命令就行
curl?-H?'Content-Type:?application/json'?-X?PUT?http://localhost:9200/index-2019.10.19/_settings?-d?' { ??"index.routing.allocation.require.temperature":?"warm" }'
流程跑通后,我們可以寫個腳本,作用有2個:
1、提前創建后一天的索引,并確保將其落到hot節點
2、將7天前的索引,打標簽,存放到es的warm節點(大容量HDD磁盤):
#!/bin/bash #?創建新的索引,語句類似下面5行,需要根據自己情況修改(建議使用for循環創建index) #?curl?-H?'Content-Type:?application/json'?-X?PUT?http://localhost:9200/index-2019.10.19?pretty #?curl?-H?'Content-Type:?application/json'?-X?PUT?http://localhost:9200/index-2019.10.19/_settings?-d?' #?{ #???"index.routing.allocation.require.temperature":?"hot" #?}' day=$(date?+"%Y.%m.%d"?-d?-7day) curl?-H?'Content-Type:?application/json'??-X?PUT?http://192.168.2.4:9200/*-${day}/_settings?-d?' { ??"index.routing.allocation.require.temperature":?"warm" }'
另外, 在es7里面 提供?index-lifecycle-management 這個功能, 我們在kibana 界面里面就可以進行配置。 具體可以查閱es官方的文檔(個人還是比較喜歡用上面的這種腳本的方案)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。