Rugalmas keresés

Az Elasticsearch fürtök biztonsági mentése és visszaállítása pillanatképekkel

Az Elasticsearch fürtök biztonsági mentése és visszaállítása pillanatképekkel
Az Elasticsearch az adatokról szól, és mint valószínűleg már tudja, az adatok fontosak az Ön és az Elasticsearch számára. Mindazonáltal mindaddig, amíg Ön és az Elasticsearch is szereti az adatokat, előfordulhatnak adathibák, amelyek adatvesztéshez vezetnek.

Az adatvesztés elleni védelem érdekében az Elasticsearch számos olyan funkcióval rendelkezik, amelyek lehetővé teszik az adatok elérhetőségének biztosítását, még az adatok meghibásodása esetén is.

Az Elasticsearch az adatok elérhetőségének biztosítása érdekében néhányat tartalmaz:

Ez az oktatóanyag bemutatja, hogyan hozhat létre fürt pillanatképeket, amelyek segítenek készen állni egy visszafordíthatatlan adathiba bekövetkezése esetén.

Kezdjük el.

Mi az az Elasticsearch pillanatkép?

Mint említettük, a rugalmas pillanatkép egy futó Elasticsearch-fürt biztonsági másolata. Ez a pillanatkép lehet egy teljes fürt, vagy egy adott fürtön belüli konkrét indexek és adatfolyamok.

Amint hamarosan megtudhatja, egy tárház plugin kezeli az Elasticsearch pillanatképeket. Ezek a pillanatképek a plugin által meghatározott különböző tárolási helyeken tárolhatók. Ide tartoznak a helyi rendszerek és a távoli rendszerek, például a GCP Storage, az Amazon EC2, a Microsoft Azure és még sok más.

Hogyan hozzunk létre egy Elasticsearch pillanatkép-adattárat

Mielőtt belevágnánk az Elasticsearch pillanatképek létrehozásába, létre kell hoznunk egy pillanatkép tárat, mert az Elasticsearch számos szolgáltatása a Snapshot API-t használja e feladatok elvégzéséhez.

Néhány a Snapshot API által kezelt feladat:

Pillanatkép-lerakat létrehozásához a _snapshot API végpontot használjuk, amelyet a pillanatkép-lerakathoz rendelni kívánt név követ. Tekintsük az alábbi kérést, amely létrehoz egy backup_repo nevű adattárat

PUT / _snapshot / backup_repo

"type": "fs",
"beállítások":
"hely": "/ home / root / backups",
"tömörítés": igaz

Itt van egy cURL parancs a fenti kéréshez:

curl -XPUT "http: // localhost: 9200 / _snapshot / backup_repo" -H 'Tartalomtípus: application / json' -d '"type": "fs", "settings": "location": "/ home / root / backups "," compress ": true '

A pillanatkép tárház elérési útjának átadásához először hozzá kell adnia a rendszer elérési útját vagy a szülő könyvtárat az elérési útvonalhoz.repo bejegyzés az elasticsearchben.yml

Az út.a repo bejegyzésnek hasonlónak kell lennie:

pálya.repo: [“/ home / root / backups”]

Az Elasticsearch konfigurációs fájl az / etc / elasticsearch / elasticsearch könyvtárban található.yml

JEGYZET: Az út hozzáadása után.repo, lehet, hogy újra kell indítania az Elasticsearch fürtöket. Ezenkívül az elérési útnak támogatott értékek.A repo az Elasticsearch futtató platformtól függően változhat.

A Pillanatfelvételek tárának megtekintése

A pillanatkép-lerakat sikeres létrehozásának megerősítéséhez használja a GET kérést a _snapshot végponttal:

GET / _snapshot / backup_repo

Használhatja a következő cURL parancsot is:

curl -XGET "http: // localhost: 9200 / _snapshot / backup_repo"

Ennek meg kell jelenítenie a biztonsági mentés adattárának adatait, például:


"backup_repo":
"type": "fs",
"beállítások" :
"tömörítés": "igaz",
"location": "" "/ home / root / backups" ""


Ha több pillanatkép-tárháza van, és nem emlékszik a névre, akkor kihagyhatja a repó nevét, és felhívhatja a _snapshot végpontot az összes meglévő tárház felsorolásához.

GET / _snapshot vagy curl curl -XGET http: // localhost: 9200 / _snapshot

Hogyan készítsünk egy Elasticsearch pillanatképet

Az Elasticsearch pillanatkép létrehozását egy adott pillanatkép-lerakat számára a pillanatkép-létrehozás API kezeli. Az API megköveteli a pillanatkép-lerakat nevét és a pillanatkép nevét.

JEGYZET: Egyetlen pillanatkép-lerakat több pillanatkép is készíthet ugyanazokból a fürtökből, ha egyedi azonosítóval / névvel rendelkeznek.

Fontolja meg a következő kérést, hogy hozzáadjon egy snapshot_2021 nevű pillanatképet a backup_repo lerakathoz.

PUT / _snapshot / backup_repo / snapshot_2021

A cURL használatához használja a következő parancsot:

curl -XPUT “http: // localhost: 9200 / _snapshot / backup_repo / snapshot_2021”

A parancsnak vissza kell adnia az Elasticsearch válaszát 200 OK-val és el kell fogadnia: true


"elfogadott": igaz

Mivel nem határozza meg, hogy mely adatfolyamokat és indexeket kívánja biztonsági másolatra készíteni, a fenti kérés hívása az összes adatot és a fürt állapotát. Annak megadásához, hogy mely adatfolyamokat és indexeket kell biztonsági másolatra készíteni, adja hozzá ezeket a kérelem törzséhez.

Vegye figyelembe a következő kérést, amely biztonsági másolatot készít a .kibana index (egy rendszerindex), és meghatározza, hogy mely felhasználó engedélyezte a pillanatfelvételt és annak okát.

PUT / _snapshot / backup_repo / snapshot_2

"indexek": ".kibana ",
"ignore_unavailable": igaz,
"include_global_state": igaz,
"metaadatok":
"taken_by": "elastadmin",
„Taken_because”: „Napi biztonsági mentés”

A cURL parancs erre:

curl -XPUT "http: // localhost: 9200 / _snapshot / backup_repo / snapshot_2" -H 'Tartalomtípus: application / json' -d '"indexek": ".kibana "," ignore_unavailable ": true," include_global_state ": true," metadata ": " taken_by ":" elastadmin "," taken_because ":" Daily Backup " '

Az ignore_unavailable logikai állapotot állít be, amely hibát ad vissza, ha a pillanatképben megadott adatfolyamok vagy indexek hiányoznak vagy bezáródnak.

Az include_global_state paraméter elmenti a fürt aktuális állapotát, ha igaz. A fürt egyes mentett információi a következők:

JEGYZET: Több indexet is megadhat vesszővel elválasztva.

A _snapshot végponttal használt gyakori argumentum a wait_for_completion, egy logikai érték, amely meghatározza, hogy a kérelemnek (igaz) vagy sem (hamis) azonnal vissza kell-e térnie a pillanatkép inicializálása után (alapértelmezett), vagy várni kell a pillanatkép befejezésére.

Például:

PUT / _snapshot / backup_repo / snapshot_3?wait_for_completion = true

"indexek": ".kibana ",
"ignore_unavailable": igaz,
"include_global_state": hamis,
"metaadatok":
"taken_by": "elastadmin",
„Taken_because”: „Heti biztonsági mentés”

A cURL parancs:

curl -XPUT "http: // localhost: 9200 / _snapshot / backup_repo / pillanatkép_3?wait_for_completion = true "-H 'Tartalomtípus: application / json' -d '" indexek ":".kibana "," ignore_unavailable ": true," include_global_state ": false," metadata ": " taken_by ":" elastadmin "," taken_because ":" Heti biztonsági mentés " '

Ha a wait_for_completion paramétert igazra állította, akkor az alábbihoz hasonló kimenetet ad:


"pillanatkép" :
"pillanatkép": "pillanatkép_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"verzió": "7.10.2 ",
"indexek": [
".kibana_1 "
],
"data_streams": [],
"include_global_state": hamis,
"metaadatok":
"taken_by": "elastadmin",
„Taken_because”: „Heti biztonsági mentés”
,
"állapot": "SIKER",
"start_time": "2021-01-19T13: 36: 59.615Z ",
"start_time_in_millis": 1611063419615,
"end_time": "2021-01-19T13: 37: 00.433Z ",
"end_time_in_millis": 1611063420433,
"duration_in_millis": 818,
"kudarcok": [],
"szilánkok":
"összesen": 1,
"sikertelen": 0,
"sikeres": 1


Pillanatképek megtekintése

A GET pillanatkép API kezeli a nézet pillanatképek funkcióit.

A kérelemben csak a pillanatkép-tárházat és a részleteket megtekinteni kívánt pillanatkép nevét kell megadnia.

A pillanatképnek válaszolnia kell a megadott pillanatkép részleteivel. Ezek a részletek a következők:

Például a fent létrehozott pillanatkép_3 részleteinek megtekintéséhez használja az alább látható kérést:

GET / _snapshot / backup_repo / snapshot_3
A cURL használatához használja az alábbi parancsot:
[cc lang = "text" width = "100%" height = "100%" escaped = "true" theme = "blackboard" nowrap = "0"]
curl -XGET “http: // localhost: 9200 / _snapshot / backup_repo / snapshot_3”

A kérelemnek a pillanatkép részleteit tartalmazó választ kell küldenie:


"pillanatképek": [

"pillanatkép": "pillanatkép_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"verzió": "7.10.2 ",
"indexek": [
".kibana_1 "
],
"data_streams": [],
"include_global_state": hamis,
"metaadatok":
"taken_by": "elastadmin",
„Taken_because”: „Heti biztonsági mentés”
,
"állapot": "SIKER",
"start_time": "2021-01-19T13: 36: 59.615Z ",
"start_time_in_millis": 1611063419615,
"end_time": "2021-01-19T13: 37: 00.433Z ",
"end_time_in_millis": 1611063420433,
"duration_in_millis": 818,
"kudarcok": [],
"szilánkok":
"összesen": 1,
"sikertelen": 0,
"sikeres": 1


]

Testreszabhatja a kérelem törzsét is, hogy konkrét részleteket kapjon a pillanatképről. Ezt azonban egyelőre nem vizsgáljuk.

Tegyük fel, hogy meg akarja tekinteni az összes pillanatképet egy adott pillanatkép-lerakatban; ebben az esetben a kérelemben egy csillag helyettesítő karaktert adhat át:

GET / _snapshot / backup_repo / *

A cURL parancs erre:

curl -XGET “http: // localhost: 9200 / _snapshot / backup_repo / *”

A válasz a tároló összes pillanatképének részletes kiírása:


"pillanatképek": [

"pillanatkép": "pillanatkép_2021",
"uuid": "7CFigHzvRtyZW07c60d2iw",
"version_id": 7100299,
"verzió": "7.10.2 ",
"indexek": [
"my_index",
"single_index_with_body",
"my_index_2",
"single_index",
".kibana_1 ",
"teszt"
],
"data_streams": [],
"include_global_state": igaz,
"állapot": "SIKER",
"start_time": "2021-01-19T13: 28: 48.172Z ",
"start_time_in_millis": 1611062928172,
"end_time": "2021-01-19T13: 28: 50.831Z ",
"end_time_in_millis": 1611062930831,
"duration_in_millis": 2659,
"kudarcok": [],
"szilánkok":
"összesen": 7,
"sikertelen": 0,
"sikeres": 7

,

"pillanatkép": "pillanatkép_2",
"uuid": "w58IrYmORAub8VC7cg04Wg",
"version_id": 7100299,
"verzió": "7.10.2 ",
"indexek": [
".kibana_1 "
],
"data_streams": [],
"include_global_state": hamis,
"metaadatok":
"taken_by": "elastadmin",
"taken_because": "Napi biztonsági mentés"
,
"állapot": "SIKER",
"start_time": "2021-01-19T13: 33: 34.482Z ",
"start_time_in_millis": 1611063214482,
"end_time": "2021-01-19T13: 33: 35.921Z ",
"end_time_in_millis": 1611063215921,
"duration_in_millis": 1439,
"kudarcok": [],
"szilánkok":
"összesen": 1,
"sikertelen": 0,
"sikeres": 1

,

"pillanatkép": "pillanatkép_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"verzió": "7.10.2 ",
"indexek": [
".kibana_1 "
],
"data_streams": [],
"include_global_state": hamis,
"metaadatok":
"taken_by": "elastadmin",
„Taken_because”: „Heti biztonsági mentés”
,
"állapot": "SIKER",
"start_time": "2021-01-19T13: 36: 59.615Z ",
"start_time_in_millis": 1611063419615,
"end_time": "2021-01-19T13: 37: 00.433Z ",
"end_time_in_millis": 1611063420433,
"duration_in_millis": 818,
"kudarcok": [],
"szilánkok":
"összesen": 1,
"sikertelen": 0,
"sikeres": 1


]

A helyettesítő karakterek nagyon hasznosak a pillanatképekkel kapcsolatos konkrét információk szűréséhez.

Pillanatkép törlése

A pillanatkép törlése nagyon egyszerű: mindössze annyit kell tennie, hogy a DELETE kérést használja:

DELETE / _snapshot / backup_repo / snapshot_2021 /

A cURL parancs:

curl -XDELETE “http: // localhost: 9200 / _snapshot / backup_repo / snapshot_2021 /”

A választ el kell ismerni: igaz


„Elismert”: igaz

Ha a pillanatkép nem létezik, kap egy 404-es állapotkódot és a pillanatkép hiányzó hibáját:


"hiba":
"kiváltó ok" : [

"type": "snapshot_missing_exception",
"ok": "Hiányzik a [backup_repo: snapshot_2021]"

],
"type": "snapshot_missing_exception",
"oka": "Hiányzik a [backup_repo: snapshot_2021]"
,
"állapot": 404

Következtetés

Ebben az útmutatóban megvitattuk, hogyan lehet az Elasticsearch pillanatképeket létrehozni a Snapshot API segítségével. A megtanultnak elegendőnek kell lennie ahhoz, hogy létrehozzon egy pillanatképtárat, megtekinthesse a pillanatképtárakat, létrehozhasson, megtekinthessen és törölhessen pillanatképeket. Bár vannak testreszabási lehetőségek az API-val, ennek az útmutatónak a tudásának elegendőnek kell lennie a kezdéshez.

Köszönöm, hogy elolvasta.

Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...