Elastik Arama

Anlık Görüntülerle Elasticsearch Kümelerini Yedekleyin ve Geri Yükleyin

Anlık Görüntülerle Elasticsearch Kümelerini Yedekleyin ve Geri Yükleyin
Elasticsearch tamamen verilerle ilgilidir ve muhtemelen zaten bildiğiniz gibi, veriler sizin ve Elasticsearch için önemlidir. Bununla birlikte, hem sizin hem de Elasticsearch verileri sevdiğiniz kadar, veri kayıplarına yol açan veri arızaları meydana gelebilir.

Elasticsearch, veri kaybına karşı korunmaya yardımcı olmak için, veri hatası durumlarında bile veri kullanılabilirliğini sağlamanıza olanak tanıyan çeşitli özelliklere sahiptir.

Elasticsearch'ün size veri kullanılabilirliği sağlamak için kullandığı yollardan bazıları şunlardır:

Bu eğitici, geri döndürülemez bir veri hatası olayı meydana geldiğinde hazır olmanıza yardımcı olacak küme anlık görüntülerinin nasıl oluşturulacağını gösterir.

Başlayalım.

Elasticsearch Anlık Görüntüsü Nedir??

Belirtildiği gibi, esnek bir anlık görüntü, çalışan bir Elasticsearch kümesinin yedek kopyasıdır. Bu anlık görüntü, tüm bir kümenin veya belirli bir küme içindeki belirli dizinlerin ve veri akışlarının tamamı olabilir.

Yakında öğreneceğiniz gibi, bir depo eklentisi Elasticsearch anlık görüntülerini yönetir. Bu anlık görüntüler, eklenti tarafından tanımlanan çeşitli depolama konumlarında depolanabilir. Bunlara yerel sistemler ve GCP Storage, Amazon EC2, Microsoft Azure ve daha pek çok uzak sistem dahildir.

Elasticsearch Anlık Görüntü Deposu Nasıl Oluşturulur

Elasticsearch anlık görüntülerini oluşturmaya başlamadan önce, bir anlık görüntü deposu oluşturmamız gerekiyor çünkü Elasticsearch'ün birçok hizmeti bu görevleri gerçekleştirmek için Anlık Görüntü API'sini kullanıyor.

Snapshot API tarafından gerçekleştirilen görevlerden bazıları şunlardır:

Bir anlık görüntü deposu oluşturmak için, anlık görüntü deposuna atamak istediğimiz adın ardından _snapshot API bitiş noktasını kullanırız. Backup_repo adlı bir depo oluşturan aşağıdaki isteği göz önünde bulundurun

PUT /_snapshot/backup_repo

"tür": "fs",
"ayarlar":
"konum": "/home/root/yedeklemeler",
"sıkıştır": doğru

İşte yukarıdaki istek için bir cURL komutu:

curl -XPUT "http://localhost:9200/_snapshot/backup_repo" -H 'Content-Type: application/json' -d'  "type": "fs",  "ayarlar":     "konum": "/ ana sayfa/kök/yedeklemeler",    "sıkıştır": true  '

Anlık görüntü veri havuzu yolunu geçmek için önce sistemin yolunu veya üst dizini yola eklemelisiniz.elastiksearch'te repo girişi.yml

Yol.repo girişi şuna benzemelidir:

yol.depo: [“/home/root/backups”]

Elasticsearch yapılandırma dosyasını /etc/elasticsearch/elasticsearch konumunda bulabilirsiniz.yml

NOT: Yolu ekledikten sonra.repo, Elasticsearch kümelerini yeniden başlatmanız gerekebilir. Ayrıca, yol için desteklenen değerler.repo, Elasticsearch'ü çalıştıran platforma bağlı olarak çılgınca değişebilir.

Anlık Görüntü Deposu Nasıl Görüntülenir

Anlık görüntü deposunun başarıyla oluşturulduğunu onaylamak için, _snapshot bitiş noktasıyla GET isteğini şu şekilde kullanın:

GET /_snapshot/backup_repo

Aşağıdaki cURL komutunu da kullanabilirsiniz:

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

Bu, yedekleme deposuyla ilgili bilgileri göstermelidir, örneğin:


"backup_repo":
"tür": "fs",
"ayarlar":
"sıkıştır" : "doğru",
"konum" : """/home/root/yedeklemeler"""


Birden fazla anlık görüntü deponuz varsa ve adı hatırlamıyorsanız, depo adını atlayabilir ve mevcut tüm depoları listelemek için _snapshot uç noktasını arayabilirsiniz.

GET /_snapshot veya cURL curl -XGET http://localhost:9200/_snapshot

Elasticsearch Anlık Görüntüsü Nasıl Oluşturulur

Belirli bir anlık görüntü deposu için bir Elasticsearch anlık görüntüsü oluşturma, anlık görüntü oluşturma API'si tarafından işlenir. API, anlık görüntü havuzu adını ve anlık görüntünün adını gerektirir.

NOT: Tek bir anlık görüntü deposu, benzersiz kimlikleri/adları olduğu sürece aynı kümelerin birden fazla anlık görüntüsüne sahip olabilir.

backup_repo deposuna snapshot_2021 adlı bir anlık görüntü eklemek için aşağıdaki isteği göz önünde bulundurun.

PUT /_snapshot/backup_repo/snapshot_2021

cURL'yi kullanmak için şu komutu kullanın:

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

Komut, Elasticsearch'ten 200 OK ile bir yanıt döndürmeli ve kabul edilmelidir: true


"kabul edildi": doğru

Hangi veri akışlarını ve dizinleri yedeklemek istediğinizi belirtmediği için yukarıdaki isteği çağırmak tüm verileri ve küme durumunu yedekler. Hangi veri akışlarının ve dizinlerin yedekleneceğini belirtmek için bunu istek gövdesine ekleyin.

Yedekleyen aşağıdaki isteği göz önünde bulundurun: .kibana dizini (bir sistem dizini) ve hangi kullanıcının anlık görüntüye yetki verdiğini ve nedenini belirtir.

PUT /_snapshot/backup_repo/snapshot_2

"endeksler": ".kibana",
"ignore_unavailable": doğru,
"include_global_state": doğru,
"meta veri":
"take_by": "elasticadmin",
"taken_because": "Günlük Yedekleme"

Bunun için cURL komutu:

curl -XPUT "http://localhost:9200/_snapshot/backup_repo/snapshot_2" -H 'Content-Type: application/json' -d'  "indeksler": ".kibana",  "ignore_unavailable": true,  "include_global_state": true,  "meta veri":     "taken_by": "elasticadmin",    "take_because": "Günlük Yedekleme"  '

Ignore_unavailable, anlık görüntüde belirtilen veri akışlarından veya dizinlerden herhangi biri eksik veya kapalıysa bir hata döndüren bir Boole durumu ayarlar.

include_global_state parametresi, doğruysa kümenin mevcut durumunu kaydeder. Kaydedilen küme bilgilerinden bazıları şunları içerir:

NOT: Virgülle ayrılmış birden fazla dizin belirtebilirsiniz.

_snapshot bitiş noktasıyla kullanılan yaygın bir bağımsız değişken, wait_for_completion, isteğin anlık görüntü başlatıldıktan hemen sonra (varsayılan) geri dönmesini (varsayılan) veya anlık görüntünün tamamlanmasını beklemesini (doğru) veya yanlış (yanlış) tanımlayan bir Boolean değeridir.

Örneğin:

PUT /_snapshot/backup_repo/snapshot_3?wait_for_completion=doğru

"endeksler": ".kibana",
"ignore_unavailable": doğru,
"include_global_state": yanlış,
"meta veri":
"take_by": "elasticadmin",
"taken_because": "Haftalık Yedekleme"

cURL komutu:

curl -XPUT "http://localhost:9200/_snapshot/backup_repo/snapshot_3?wait_for_completion=true" -H 'İçerik Türü: application/json' -d'  "indeksler": ".kibana",  "ignore_unavailable": true,  "include_global_state": false,  "metadata":     "taken_by": "elasticadmin",    "taken_because": "Haftalık Yedekleme"  '

wait_for_completion parametresini true olarak ayarladığınızda, aşağıda gösterilene benzer bir çıktı verirsiniz:


"enstantane fotoğraf" :
"anlık görüntü": "anlık görüntü_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"sürüm" : "7.10.2",
"endeksler": [
".kibana_1"
],
"data_streams": [ ],
"include_global_state": yanlış,
"meta veri":
"taken_by": "elasticadmin",
"taken_because": "Haftalık Yedekleme"
,
"durum": "BAŞARI",
"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,
"arızalar" : [ ],
"parçalar":
"toplam" : 1,
"başarısız" : 0,
"başarılı" : 1


Anlık Görüntüler Nasıl Görüntülenir

GET anlık görüntü API'si, anlık görüntüleri görüntüleme işlevini işler.

İsteği iletmeniz gereken tek şey, anlık görüntü deposu ve ayrıntıları görüntülemek istediğiniz anlık görüntünün adıdır.

Anlık görüntü, belirtilen bir anlık görüntüyle ilgili ayrıntılarla yanıt vermelidir. Bu ayrıntılar şunları içerir:

Örneğin, yukarıda oluşturulan snapshot_3 ile ilgili ayrıntıları görüntülemek için aşağıda gösterilen isteği kullanın:

GET /_snapshot/backup_repo/snapshot_3
cURL'yi kullanmak için aşağıdaki komutu kullanın:
[cc lang="text" width="100%" height="100%" escaped="true" theme="blackboard" nowrap="0"]
curl -XGET “http://localhost:9200/_snapshot/backup_repo/snapshot_3”

İstek, anlık görüntünün ayrıntılarını içeren bir yanıt döndürmelidir:


"anlık görüntüler": [

"anlık görüntü": "anlık görüntü_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"sürüm" : "7.10.2",
"endeksler": [
".kibana_1"
],
"data_streams": [ ],
"include_global_state": yanlış,
"meta veri":
"taken_by": "elasticadmin",
"taken_because": "Haftalık Yedekleme"
,
"durum": "BAŞARI",
"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,
"arızalar" : [ ],
"parçalar":
"toplam" : 1,
"başarısız" : 0,
"başarılı" : 1


]

Bir anlık görüntü hakkında belirli ayrıntıları almak için istek gövdesini de özelleştirebilirsiniz. Ancak şimdilik buna bakmayacağız.

Belirli bir anlık görüntü deposundaki tüm anlık görüntüler hakkındaki bilgileri görüntülemek istediğinizi varsayalım; bu durumda, istekte bir yıldız işareti joker karakterini şu şekilde iletebilirsiniz:

GET /_snapshot/backup_repo/*

Bunun için cURL komutu:

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

Yanıt, o depodaki tüm anlık görüntülerin ayrıntılı bir dökümüdür:


"anlık görüntüler": [

"anlık görüntü": "anlık görüntü_2021",
"uuid": "7CFigHzvRtyZW07c60d2iw",
"version_id": 7100299,
"sürüm" : "7.10.2",
"endeksler": [
"my_index",
"single_index_with_body",
"my_index_2",
"single_index",
".kibana_1",
"Ölçek"
],
"data_streams": [ ],
"include_global_state": doğru,
"durum": "BAŞARI",
"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,
"arızalar" : [ ],
"parçalar":
"toplam" : 7,
"başarısız" : 0,
"başarılı" : 7

,

"anlık görüntü": "anlık görüntü_2",
"uuid": "w58IrYmORAub8VC7cg04Wg",
"version_id": 7100299,
"sürüm" : "7.10.2",
"endeksler": [
".kibana_1"
],
"data_streams": [ ],
"include_global_state": yanlış,
"meta veri":
"taken_by": "elasticadmin",
"taken_because": "Günlük Yedekleme"
,
"durum": "BAŞARI",
"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,
"arızalar" : [ ],
"parçalar":
"toplam" : 1,
"başarısız" : 0,
"başarılı" : 1

,

"anlık görüntü": "anlık görüntü_3",
"uuid": "tQUHyofIRnGMMtw0AGBACQ",
"version_id": 7100299,
"sürüm" : "7.10.2",
"endeksler": [
".kibana_1"
],
"data_streams": [ ],
"include_global_state": yanlış,
"meta veri":
"taken_by": "elasticadmin",
"taken_because": "Haftalık Yedekleme"
,
"durum": "BAŞARI",
"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,
"arızalar" : [ ],
"parçalar":
"toplam" : 1,
"başarısız" : 0,
"başarılı" : 1


]

Joker karakterler, anlık görüntülerle ilgili belirli bilgileri filtrelemek için çok kullanışlıdır.

Anlık Görüntü Nasıl Silinir

Bir anlık görüntüyü silmek çok basittir: tek yapmanız gereken DELETE isteğini şu şekilde kullanmaktır:

SİL /_snapshot/backup_repo/snapshot_2021/

cURL komutu:

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

Yanıt onaylanmalıdır: doğru


"onaylandı": doğru

Anlık görüntü yoksa, bir 404 durum kodu ve şu şekilde anlık görüntü eksik hatası alırsınız:


"hata" :
"ana neden" : [

"type" : "snapshot_missing_exception",
"neden": "[backup_repo:snapshot_2021] eksik"

],
"type" : "snapshot_missing_exception",
"neden": "[backup_repo:snapshot_2021] eksik"
,
"durum" : 404

Sonuç

Bu kılavuzda, Anlık Görüntü API'sini kullanarak Elasticsearch anlık görüntülerinin nasıl oluşturulacağını tartıştık. Öğrendikleriniz, bir anlık görüntü havuzu oluşturmanıza, anlık görüntü havuzlarını görüntülemenize, anlık görüntüler oluşturmanıza, görüntülemenize ve silmenize izin vermek için yeterli olmalıdır. API ile yapabileceğiniz özelleştirmeler olsa da, bu kılavuzdaki bilgiler başlamanız için yeterli olacaktır.

Okuduğunuz için teşekkürler.

Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...