Searchable Snapshot, geçmiş verileri Alibaba Cloud OSS içinde anlık görüntüler olarak saklarken sorgulama yeteneklerini korur. Bu sayede veri erişilebilirliğinden ödün vermeden depolama maliyetlerinizi düşürürsünüz. Daha fazla bilgi için bkz. ES Searchable snapshots.
Kısıtlamalar
Arşiv veri düğümlerini etkinleştirin
Searchable Snapshot özelliğini kullanmak için Alibaba Cloud Elasticsearch örneğinizde arşiv veri düğümlerini etkinleştirin. Arşiv veri düğümleri hesaplama katmanı olarak çalışır; dizin meta verilerini tutar, yerel önbelleği yönetir ve gerektiğinde veri bloklarını Alibaba Cloud OSS üzerinden çeker.
Alibaba Cloud Elasticsearch konsolu üzerinde oturum açın.
-
Örneğinizin durumuna göre uygun adımları izleyin:
Yeni 8.17.0 örnekleri için: Örnek Oluştur sayfasında 8.17.0 sürümünü seçin. Örnek teknik özellikler bölümünde Archive Data Node seçeneğini belirleyin ve düğüm sayısını ile teknik özellikleri yapılandırın.
-
Düğüm teknik özelliklerini seçin.
Veriler Alibaba Cloud OSS içinde depolandığından arşiv veri düğümleri için büyük yerel disk alanlarına gerek yoktur. Önbellek isabet oranını artırmak amacıyla yeterli bellek yapılandırın. Önerilen teknik özellik: 4 çekirdek ve 16 GB veya daha fazla bellek ile 500 GB ya da daha büyük disk (Efficient Cloud Disk veya ESSD).
Satın alımı onaylayın ve değişikliğin tamamlanmasını bekleyin. Arşiv veri düğümleri hazır duruma geldiğinde Searchable Snapshot varsayılan olarak etkinleşir ve ek bir işlem yapmanız gerekmez.
OSS anlık görüntü deposu yapılandırın
Alibaba Cloud Elasticsearch, repository-oss eklentisini varsayılan olarak içerir. Bu sayede ek kurulum yapmadan Alibaba Cloud OSS'i anlık görüntü deposu olarak kullanabilirsiniz.
Varsayılan aliyun_auto_snapshot deposu eski anlık görüntü verilerini düzenli olarak siler. Searchable Snapshots için bu depoyu kullanırsanız, anlık görüntü silindiğinde bağlı dizin verileri kalıcı olarak kaybolur. Üretim ortamında ayrı bir OSS anlık görüntü deposu oluşturun.
Bir OSS anlık görüntü deposunu kaydetmek için Kibana Dev Tools'ta aşağıdaki komutu çalıştırın:
PUT _snapshot/my_oss_repo
{
"type": "oss",
"settings": {
"endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
"access_key_id": "<your_access_key_id>",
"secret_access_key": "<your_secret_access_key>",
"bucket": "<your_bucket_name>",
"base_path": "es_snapshots",
"compress": true,
"chunk_size": "500mb"
}
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Depo bağlantısını doğrulayın:
POST _snapshot/my_oss_repo/_verify
Başarılı bir yanıt, küme düğümlerini listeler ve her düğümün gerekli izinlerle Alibaba Cloud OSS'e erişebildiğini teyit eder. OSS eklenti parametrelerinin tam listesi için bkz. elasticsearch-repository-oss.
Anlık görüntü oluşturun ve bağlayın
Anlık görüntü oluşturun
Arşivlemek istediğiniz dizinlerin anlık görüntüsünü oluşturun.
Aşağıdaki komut, snapshot_20260227 adlı bir anlık görüntü oluşturur ve bunu my_oss_repo deposunda saklar.
PUT _snapshot/my_oss_repo/snapshot_20260227
{
"indices": "logs-2025-*",
"ignore_unavailable": true,
"include_global_state": false
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anlık görüntü ilerlemesini kontrol edin:
GET _snapshot/my_oss_repo/snapshot_20260227/_status
Yanıtta state alanı SUCCESS ve shards_stats.failed değeri 0 ise anlık görüntü komutu başarılı olmuştur.
Aşağıdaki veriler test amaçlıdır.
POST logs-2025-01-01/_doc
{ "message": "test log data 01", "level": "info", "timestamp": "2025-01-01T10:00:00" }
POST logs-2025-01-02/_doc
{ "message": "test log data 02", "level": "warn", "timestamp": "2025-01-02T10:00:00" }
POST logs-2025-01-03/_doc
{ "message": "test log data 03", "level": "error", "timestamp": "2025-01-03T10:00:00" }
POST logs-2025-01-04/_doc
{ "message": "test log data 04", "level": "info", "timestamp": "2025-01-04T10:00:00" }
POST logs-2025-01-05/_doc
{ "message": "test log data 05", "level": "debug", "timestamp": "2025-01-05T10:00:00" }
Frozen Tier'a Bağlayın
Mount Snapshot API'yi kullanarak bir dizini kısmen bağlı modda anlık görüntüden bağlayın.
POST _snapshot/my_oss_repo/snapshot_20260227/_mount?storage=shared_cache&wait_for_completion=true
{
"index": ".ds-logs-2025-01-01-2026.03.03-000001",
"renamed_index": "frozen-logs-2025-01-01",
"index_settings": {
"index.number_of_replicas": 0
},
"ignore_index_settings": ["index.refresh_interval"]
}
|
Parametre |
Açıklama |
|
|
Dizin adı. Anlık görüntü içeriğini sorgulamak ve tam dizin adını doğrulamak için |
|
|
Verilerin Alibaba Cloud OSS içinde kaldığı ve yalnızca sık erişilen verilerin yerel olarak önbelleğe alındığı kısmen bağlı modu kullanır. |
|
|
Bağlanan dizin için yeni ad. Kolay tanımlama amacıyla Önemli
Birden çok dizini bağlamak için her dizin için bu komutu çalıştırın ve her seferinde |
|
|
|
|
|
Bağlama işleminin tamamlanmasını beklemek ve ardından sonuç döndürmek için |
Searchable Snapshot'un referans aldığı bir anlık görüntüyü silmek, dizin verilerinin kullanılamaz hale gelmesine neden olur.
Bağlanan dizini sorgulayın
Searchable Snapshot dizinini sorgulamak, normal bir dizini sorgulamakla aynıdır:
GET frozen-logs-2025-01-01/_search
{
"query": {
"match": {
"message": "error"
}
}
}
Çevrimiçi ve arşivlenmiş dizinleri aynı anda sorgulamak için joker karakterleri kullanabilirsiniz:
GET logs-2025-*,frozen-logs-2025-*/_search
{
"query": {
"range": {
"timestamp": {
"gte": "2025-01-01",
"lt": "2025-02-01"
}
}
}
}
_shards.successful değeri toplam parça sayısına eşit olduğunda ve hits.total.value değeri 0'dan büyük olduğunda yanıt başarılı kabul edilir.
Searchable Snapshot dizinini ayırın
Searchable Snapshot dizinini ayırmak için dizini silin. Bu işlem, Alibaba Cloud OSS içindeki temel anlık görüntü verilerini etkilemez; veriler daha sonra yeniden bağlanabilir.
DELETE frozen-logs-2025-01-01
Arşivlenmiş verileri yazılabilir bir dizin olarak geri yüklemek için standart Geri Yükleme API'sini kullanarak anlık görüntü verilerini Alibaba Cloud OSS'ten Elasticsearch kümesine geri yükleyin:
POST _snapshot/my_oss_repo/snapshot_20260227/_restore
{
"indices": ".ds-logs-2025-01-01-2026.03.03-000001",
"rename_pattern": "(.+)",
"rename_replacement": "restored-$1"
}
Veri yaşam döngüsünü ILM ile otomatikleştirin
Dizinleri Frozen Tier'a otomatik olarak geçirmek için Index Lifecycle Management (ILM) ilkesi kullanın. Aşağıdaki ilke Hot → Warm → Frozen → Delete yaşam döngüsünü uygular. Bir dizin Frozen aşamasına girdiğinde ILM, manuel müdahale gerektirmeden Alibaba Cloud OSS içinde otomatik olarak anlık görüntü oluşturur ve bunu kısmen bağlı modda bağlar:
PUT _ilm/policy/logs_lifecycle_policy
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_primary_shard_size": "50gb",
"max_age": "7d"
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"shrink": { "number_of_shards": 1 },
"forcemerge": { "max_num_segments": 1 }
}
},
"frozen": {
"min_age": "90d",
"actions": {
"searchable_snapshot": {
"snapshot_repository": "my_oss_repo"
}
}
},
"delete": {
"min_age": "365d",
"actions": {
"delete": {}
}
}
}
}
}
Yaşam döngüsü aşamalarına genel bakış:
|
Aşama |
Tetikleme zamanı |
Temel eylem |
Açıklama |
|
Hot |
|
Rollover |
|
|
Warm |
|
Shrink |
|
|
Frozen |
|
Searchable Snapshot |
|
|
Delete |
|
Delete |
|
Nasıl çalışır
Searchable Snapshot, depolama ve hesaplama ayrılığı mimarisini kullanır. Arşiv veri düğümleri (hesaplama katmanı) ile Alibaba Cloud OSS (depolama katmanı) birlikte çalışır:
Alibaba Cloud OSS, kalıcı depolama katmanı ve anlık görüntü deposu olarak hizmet verir. Tüm anlık görüntü verileri Alibaba Cloud OSS içinde saklanır ve dahili çoğaltma sayesinde veri güvenilirliği sağlanır. Bu sayede Elasticsearch'te çoğaltma parçalarına gerek kalmaz.
-
Arşiv veri düğümü, sorgu isteklerini alan ve veri erişimini koordine eden hesaplama katmanıdır. Her düğüm üç temel bileşen içerir:
Meta veri: Dizin yapısını ve parça eşleme bilgilerini saklayarak Searchable Snapshot dizininin mantıksal görünümünü korur.
Paylaşılan Önbellek: Sık erişilen veri bloklarını önbelleğe alır. Bu önbellek, aynı düğümdeki Searchable Snapshot dizinlerinin tüm parçaları tarafından paylaşılır.
Sorgu Motoru: Sorgu isteklerini alır, önbellek isabetini kontrol eder ve isabet olmaması durumunda veri bloklarını talep üzerine Alibaba Cloud OSS'ten çeker.
Veri akışı yazma ve sorgu yolları olarak ikiye ayrılır:
Yazma Yolu: Dizinler, manuel eylemler veya ILM ilkeleri aracılığıyla Alibaba Cloud OSS'e anlık görüntülenir.
storage=shared_cacheparametresiyle bağlandığında dizin kısmen bağlı moda geçer: veriler Alibaba Cloud OSS'te kalırken arşiv veri düğümü yalnızca meta verileri yükler.Sorgu Yolu: Arşiv veri düğümü önce gerekli veri bloklarını yerel Paylaşılan Önbellekte arar. Önbellek isabetinde sonucu doğrudan döndürür ve performans yerel verilere benzer. Önbellek ıskalamasında veri bloklarını Alibaba Cloud OSS'ten çeker, sonucu döndürür ve gelecekteki sorgular için önbelleğe alır.
Paylaşılan Önbellek varsayılan olarak düğümün toplam disk alanının %90'ını (veya toplam alandan 100 GB çıkarılan değeri, hangisi daha küçükse onu) kullanır. Soğuk veri bloklarını tahliye etmek için En Az Kullanılan (LRU) politikasını uygular.
Elasticsearch, verilere erişim sıklığına göre birden çok katmana ayırır. Searchable Snapshot, bu katmanların en maliyet etkin olanı olan Frozen Tier'a hizmet eder:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Searchable Snapshot maliyetleri aşağıdaki mekanizmalarla azaltır:
Çoğaltma parçalarının ortadan kaldırılması: Alibaba Cloud OSS, dahili çoğaltma yoluyla veri güvenilirliği sağlar ve çoğaltma parçalarına olan ihtiyacı ortadan kaldırır. Bu sayede depolama gereksinimleri %50 azalır ve kullanılabilirlik alanları arası trafik maliyetleri elenir.
Depolama ve hesaplama ayrılığı: Tüm veriler, bulut disk depolamaya kıyasla birim fiyatı çok daha düşük olan (genellikle on kat veya daha fazla farkla) Alibaba Cloud OSS'te saklanır. Arşiv veri düğümleri yalnızca meta verileri ve bir sıcak veri önbelleğini tutar.
Son derece yüksek veri yoğunluğu oranı: Arşiv veri düğümleri 1:1500 bellek-veri oranına ulaşabilir. 64 GB belleğe sahip bir düğüm yaklaşık 100 TB arşivlenmiş veriyi yönetebilirken, Warm Tier'da aynı kaynaklar yalnızca yaklaşık 10 TB veriyi destekleyebilir.
Kullanım senaryoları
Günlük arşivleme: Eski günlükleri Frozen Tier'a taşıyarak depolama maliyetlerini azaltın ve arama yeteneklerini koruyun.
Uyumluluk ve denetim: Uyumluluk amaçlı verileri düşük maliyetle uzun süre saklayın ve gerektiğinde erişin.
Geçmiş veri analizi: Nadiren erişilen geçmiş verileri pahalı, yüksek performanslı depolama alanını işgal etmeden analiz edin.