Apache Cassandra bakım görevleri

Bu bölümde, Cassandra için periyodik bakım görevleri açıklanmaktadır.

Entropi karşıtı bakım

Apache Cassandra halka düğümleri, tüm düğümlerde tutarlılık sağlamak için düzenli bakım gerektirir. Bu bakımı gerçekleştirmek için aşağıdaki komutu kullanın:

apigee-service apigee-cassandra apigee_repair -pr

Apigee, bu komutu çalıştırırken aşağıdakileri önerir:

  • Her Cassandra düğümünde (tüm bölgelerde veya veri merkezlerinde) çalıştırın.
  • Halkadaki tüm düğümlerde tutarlılık sağlamak için aynı anda tek bir düğümde çalıştırın. Onarım işlerini aynı anda birden çok düğümde çalıştırmak Cassandra'nın durumuna zarar verebilir.

    Bir düğümdeki onarım işinin başarıyla tamamlanıp tamamlanmadığını kontrol etmek için düğümdeki system.log dosyasında en son onarım oturumunun UUID'sini ve "oturum başarıyla tamamlandı" ifadesini içeren bir giriş olup olmadığına bakın. Aşağıda örnek bir günlük girişi verilmiştir:

    INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully"
    Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
  • Nispeten düşük iş yükünün olduğu dönemlerde çalıştırma (araç, sisteme önemli bir yük oluşturur).
  • Cassandra'nın "unutulmuş silme işlemleriyle" ilgili sorunları ortadan kaldırmak için en az yedi günde bir çalıştırın.
  • Farklı günlerde farklı düğümlerde çalıştırın veya her düğümde çalıştırma arasında birkaç saat olacak şekilde planlayın.
  • Yalnızca düğümün birincil bölümleyici aralığını belirtmek için -pr seçeneğini (bölüm aralığı) kullanın.

Cassandra için JMX kimlik doğrulamasını etkinleştirdiyseniz nodetool yöntemini çağırırken kullanıcı adını ve şifreyi eklemeniz gerekir. Örneğin:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

Desteklenen apigee_repair: seçeneklerini kontrol etmek için aşağıdaki komutu da çalıştırabilirsiniz

apigee-service apigee-cassandra apigee_repair -h

Not: apigee_repair, Cassandra'nın düğüm aracı onarımıyla ilgili bir sarmalayıcıdır. Cassandra'nın onarımını gerçekleştirmeden önce ek denetimler gerçekleştirir.

Daha fazla bilgi için aşağıdaki kaynaklara bakın:

Günlük dosyası bakımı

Cassandra günlükleri, her düğümdeki /opt/apigee/var/log/cassandra dizininde depolanır. Varsayılan olarak, her biri maksimum 20 MB boyutunda olmak üzere en fazla 50 günlük dosyası oluşturulabilir. Bu sınıra ulaşıldığında yeni günlükler oluşturulduğunda eski günlükler silinir.

Cassandra günlük dosyalarının çok fazla yer kapladığını görürseniz log4j ayarlarını düzenleyerek günlük dosyaları için ayrılan alan miktarını değiştirebilirsiniz.

  1. Aşağıdaki özellikleri ayarlamak için /opt/apigee/customer/application/cassandra.properties öğesini düzenleyin. Dosya yoksa oluşturun:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. Aşağıdaki komutu kullanarak Cassandra'yı yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Disk alanı bakımı

Her diskin en az yüzde 50'sinin boş olduğundan emin olmak için Cassandra disk kullanımını düzenli olarak izlemelisiniz. Disk kullanımı %50'nin üzerine çıkarsa kullanılan yüzdeyi azaltmak için daha fazla disk alanı eklemenizi öneririz.

Cassandra kendi disk kullanımını azaltmak için aşağıdaki işlemleri otomatik olarak gerçekleştiriyor:

  • Jetonların süresi dolduğunda kimlik doğrulama jetonunun silinmesi. Ancak yapılandırmanıza bağlı olarak jetonların kullandığı disk alanında yer açılması birkaç hafta sürebilir. Otomatik silme, yeterli disk alanı sağlamak için yeterli değilse yer açmak için jetonları manuel olarak silme hakkında bilgi edinmek üzere destek ekibiyle iletişime geçin.
  • Veri sıkıştırma. Anahtar alanları üzerinde sıkıştırma stratejisini, varsayılan SizeTieredCompactionStrategy'dan daha iyi disk kullanım stratejileri sunan LeveledCompactionStrategy olarak değiştirmenizi öneririz. Düzeyli Sıkıştırma Stratejisi bölümüne bakın.

Not: Cassandra veri sıkıştırması yaparken önemli miktarda CPU döngüsü ve bellek alabilir. Ancak sıkıştırma işlemleri tamamlandıktan sonra kaynak kullanımı normale dönmelidir. Sıkıştırmanın çalışıp çalışmadığını kontrol etmek için her düğümde 'Nodetool compactionstats' komutunu çalıştırabilirsiniz. compactionstats çıkışı, yürütülecek bekleyen sıkıştırma işlemleri olup olmadığını ve işlemin tamamlanması için tahmini süreyi bildirir.