Elasticsearch Index’lerinde Backup ve Restore Alınması

Curator Kurulumu

Backup işleminin gerçekleşebilmesi için öncelikle curator kurulu olmalıdır. Aşağıdaki komutla curator’u kuruyoruz.

yum install elasticsearch-curator

Backup

Elasticsearch içinde backup almak istiyorsak snapshot işlemini gerçekleştiririz. Snapshot alınabilmesi için öncelikle snapshot’ın atılacağı bir repository olmalı ve bunun yanında backup’ın alınacağı location’ın belli olması gerekiyor. İlk olarak backup’ın alınacağı dosya dizinini oluşturmamız gerekiyor. Bunun için aşağıdaki komutu kullanıyoruz.

mkdir -p /usr/share/elasticsearch/backup

Bu işlemden sonra /usr/share/elasticsearch/backup dizinine, elastic uygulamasını çalıştırmış olduğumuz user için ilgili dizinin yetkilendirilmesi gerekmektedir. Aşağıdaki komutla gerekli yetkilendirmeyi yapıyoruz.

sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch

Curator kurulduktan sonra yedekleri depolayacağı dizinin (backup repository) elasticsearch yaml dosyasına yazılması gerekir. Bunun için /etc/elasticsearch/elasticsearch.yml dosyası açılır ve

path.repo: [“/usr/share/elasticsearch/backup”]

olarak güncellenir.

Bu güncellemeyi yaptıktan sonra aşağıdaki komutla elasticsearch’ü restart etmemiz gerekiyor.

systemctl restart elasticsearch.service

İkinci adımda ise curator.yml dosyasını güncellememiz gerekiyor. Default konumdaki ~/.curator/curator.yml dosyasını açıyoruz.

Burada Es_Host ve Es_Port’un local host IP’si ve portuyla değiştirilmesi gerekiyor.

Yeni bir snapshot repository oluşturmadan önce, daha önceden bu işlem için oluşturulmuş bir repository var mı diye kontrol yapmamız gerekiyor. Aşağıdaki komutla bu kontrolü yapıyoruz.

curl -XGET “localhost:9200/_snapshot/_all?pretty=true”

Eğer aldığımız sonuç ‘ { } ‘ olursa daha önceden bir repository oluşmamış demektir.

es_repo_mgr — config ~/.curator/curator.yml create fs — repository test_repo — location /usr/share/elasticsearch/backup — compression True

komutunu kullanarak test_repo adında yeni bir repository oluşturuyoruz. Repository ve backup dizinini oluşturduktan sonra ~/.curator/action.yml dosyasında snapshot almak için yeni bir action oluşturuyoruz.

Burada repository kısmına snapshot için kullandığımız repository adı, name kısmına backup dosyasına verilecek ismin formatını, value kısmınaysa snapshot alınmak istenen indices adı verilmeli.

Bu işlemlerden sonra snapshot almaya hazır hale geliyoruz ve aşağıdaki komutu çalıştırdığımızda snapshot alınmaya başlanıyor.

curator ~/.curator/action.yml

Alınan snapshotları görmek için /usr/share/elasticsearch/backup konumuna gidip dosya içindekileri listeleyebilirsiniz.

Restore

Restore almak için yeni bir action oluşturmamız gerekir. ~/.curator/action.yml dosyası içine ikinci bir action tanımı yapabilir veya bu işlem için yeni bir yaml oluşturabilirsiniz. Biz ~/.curator/action_restore.yml diye yeni bir yaml dosyası oluşturduk.

Burada repository kısmına snapshot alırken kullandığımız repository adı, value kısmınaysa restore alınmak istenen indices adı verilmeli.

Bu işlemlerden sonra restore almaya hazır hale geliyoruz ve aşağıdaki komutu çalıştırdığımızda restore işlemi başlıyor.

curator ~/.curator/action_restore.yml

İşlem sonuçlandığında restore işlemi tamamlanıyor.

Emekleri için Pınar Bakan’a teşekkür ederiz.

Daha fazla bilgi ve öneri için aşağıdaki mail adresinden bizimle iletişime geçebilirsiniz.

mailto:DTUygulamaYonetimi@d-teknoloji.com.tr

Yeni yazılarımız için bizi takipte kalın!

--

--