GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit zálohu klastru Elasticsearch

Mechanismus zálohování v Elasticsearch se nazývá Snapshot. Snímek je záloha pořízená z clusteru Elasticsearch, který je ve spuštěném stavu. Není třeba demontovat cluster, což pomáhá vyhnout se oknům údržby aplikací. Snímek jednotlivého indexu nebo celého clusteru lze pořídit a uložit do úložiště ve sdíleném systému souborů.

Snímky v Elasticsearch jsou pořizovány postupně. To znamená, že když Elasticsearch vytvoří snímek indexu, vyhne se kopírování jakýchkoli dat, která jsou již uložena jako součást dřívějšího snímku stejného indexu. Proto může být efektivní pořizovat snímky clusteru pravidelně.

Stejným způsobem můžeme udělat zálohu clusteru v běžícím stavu, můžeme také obnovit snímek do běžícího clusteru. Když obnovíme index, můžeme dokonce změnit název obnoveného indexu a také některá jeho nastavení.

Chceme-li vytvářet zálohy, musíme zaregistrovat úložiště snímků, než budeme moci provádět snímky a operace obnovy. Aby bylo možné zaregistrovat úložiště sdíleného systému souborů pro cluster, je nutné připojit stejný sdílený systém souborů do stejného umístění na všech hlavních a datových uzlech. Toto umístění musí být zaregistrováno v konfiguračním souboru na všech hlavních a datových uzlech.

V tomto článku ověříme sdílené úložiště NFS a podíváme se na kroky k pořízení snímku a jeho obnovení.

Předpoklady

  1. Sdílený adresář NFS dostupný a připojený ke všem 3 uzlům Elasticsearch na stejném místě
  2. Elasticsearch Cluster 3 uzlů na 3 serverech Ubuntu.

Co uděláme

  1. Ověřte nastavení serveru NFS.
  2. Ověřte konfiguraci clusteru Elasticsearch
  3. Zaregistrujte si úložiště, abyste mohli zálohovat.
  4. Proveďte zálohu a obnovte.

Ověřte nastavení serveru/klienta NFS.

V tomto článku nebudeme hovořit o nastavení NFS, protože nespadá do rozsahu tohoto článku. Ale abychom mohli zálohovat Elasticsearch, potřebovali bychom následující nastavení.

es-node-1(10.11.10.61)  : NFS Client
es-node-2(10.11.10.62) : NFS Client
es-node-3(10.11.10.63) : NFS Client
NFS Server(10.11.10.64) : NFS Server

Zde, 

Server NFS sdílel své „/home/ubuntu/shared/“ adresář s Elasticsearch Nodes.

Každý Elasticsearch má svůj místní adresář “/home/ubuntu/mounted“ připojeno ke sdílenému adresáři NFS "/home/ubuntu/shared/" . Musíme se ujistit, že vlastnictví všech adresářů patří stejnému uživateli, se kterým bychom spustili Elasticsearch.

Jakmile budeme mít toto nastavení na místě, můžeme pokračovat.

Ověřit konfiguraci clusteru Elasticsearch

Chcete-li nastavit Elasticsearch, aby fungoval v režimu clusteru, proveďte následující konfigurace:

Pokud jste nastavili cluster Elasticsearch, musíte si být vědomi následující konfigurace.

Jediná konfigurace, kterou musíme provést, abychom mohli zálohu Elasticsearch Cluster Backup oddělit od stávající konfigurace clusteru Elasticsearch, je "path.repo:["/home/ubuntu/mounted"] “: 

vim config/elasticsearch.yml
path.repo: ["/home/ubuntu/mounted"] 

Udržujte to stejné na každém uzlu.

Konfigurace na Node1

#give your cluster a name.
cluster.name: my-cluster
#give your nodes a name (change node number from node to node).
node.name: "es-node-1"
#define node 1 as master-eligible:
node.master: true
#define nodes 2 and 3 as data nodes:
node.data: true
#enter the private IP and port of your node:
network.host: 10.11.10.61
http.port: 9200
#detail the private IPs of your nodes:
discovery.zen.ping.unicast.hosts: ["10.11.10.61", "10.11.10.62", "10.11.10.63"]
cluster.initial_master_nodes:
- 10.11.10.61
path.repo: ["/home/ubuntu/mounted"]

Konfigurace na Node2

#give your cluster a name.
cluster.name: my-cluster
#give your nodes a name (change node number from node to node).
node.name: "es-node-2"
#define node 2 as master-eligible:
node.master: false
#define nodes 2 and 3 as data nodes:
node.data: true 
#enter the private IP and port of your node:
network.host: 10.11.10.62
http.port: 9200 
#detail the private IPs of your nodes:
discovery.zen.ping.unicast.hosts: ["10.11.10.61", "10.11.10.62", "10.11.10.63"
path.repo: ["/home/ubuntu/mounted"]

Konfigurace na Node3

#give your cluster a name.
cluster.name: my-cluster
#give your nodes a name (change node number from node to node).
node.name: "es-node-3"
#define node 3 as master-eligible:
node.master: false
#define nodes 2 and 3 as data nodes:
node.data: true
#enter the private IP and port of your node:
network.host: 10.11.10.63
http.port: 9200
#detail the private IPs of your nodes:
discovery.zen.ping.unicast.hosts: ["10.11.10.61","10.11.10.62","10.11.10.63""]
path.repo: ["/home/ubuntu/mounted"]

Jakmile budete mít veškerou tuto konfiguraci na místě, spusťte všechny uzly Elasticsearch a nejprve spusťte počáteční hlavní server.

Zaregistrujte si úložiště pro vytváření záloh

Zkontrolujte existující úložiště pomocí následujícího příkazu.

curl -XGET 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/_all?pretty=true'

Pokud dostaneme prázdnou odpověď, znamená to, že ještě nemáme nastavená žádná úložiště

  Chcete-li nastavit úložiště, spusťte následující příkaz.

curl -XPUT 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup' -d {
"type": "fs",
"settings": {
"location": "/home/ubuntu/mounted",
"compress": true
}
}'

Zde je „my_backup“ ve výše uvedeném příkazu názvem úložiště.

Registrovaná úložiště můžeme zkontrolovat pomocí následujícího příkazu

curl -XGET 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/_all?pretty=true'

Zálohování a obnovení clusteru Elasticsearch

Vytvořit zálohu

Jakmile vytvoříme repo, jsme připraveni provést zálohu.

Pomocí následujícího příkazu vytvořte zálohu s názvem „snapshot_name“

curl -XPUT "https://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup/snapshot_name?wait_for_completion=true"

Obnovení zálohy

Snímek, který jsme pořídili, lze obnovit pomocí následujícího příkazu.

Pomocí následujícího příkazu obnovte zálohu s názvem „snapshot_name“

curl -XPOST "http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup/snapshot_name/_restore?wait_for_completion=true"

Závěr

V tomto článku jsme viděli kroky k registraci úložiště a vytvoření zálohy a obnovení.


Linux
  1. Jak vytvořit zálohu

  2. Jak vzít zálohu poštovní schránky účtu Zimbra z CLI

  3. Jak zálohovat soubory crontab -e?

  1. Jak nainstalovat Elasticsearch na Ubuntu 18.04

  2. Jak nainstalovat Elasticsearch na Ubuntu 20.04

  3. Jak provést šifrovanou zálohu podobnou rsync?

  1. Jak nainstalovat Elasticsearch na CentOS 7

  2. Jak nainstalovat Elasticsearch na CentOS 8

  3. Jak nainstalovat Elasticsearch na Debian 10