Apache Cassandra bakım görevleri

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

Anti-entropi 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 yapmanızı ö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 her seferinde bir düğümde çalıştırın. Onarım işlerini aynı anda birden fazla düğümde çalıştırmak Cassandra'nın durumunu olumsuz etkileyebilir.

    Bir düğümdeki onarım işinin başarıyla tamamlanıp tamamlanmadığını kontrol etmek için düğümün system.log dosyasında en son onarım oturumunun UUID'si ve "session completed successfully" (oturum başarıyla tamamlandı) ifadesini içeren bir giriş arayın. Örnek bir günlük girişi:

    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
  • İş yükünün nispeten düşük olduğu dönemlerde çalıştırın (araç, sistem üzerinde önemli bir yük oluşturur).
  • Cassandra'nın "unutulan silme işlemleri" ile 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ırılması 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ümleyici aralığı) kullanın.

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

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

apigee_repair: için desteklenen seçenekleri kontrol etmek üzere aşağıdaki komutu da çalıştırabilirsiniz.

apigee-service apigee-cassandra apigee_repair -h

Not: apigee_repair, Cassandra'nın onarımını gerçekleştirmeden önce ek kontroller yapan Cassandra'nın nodetool onarımını sarmalayan bir sarmalayıcıdır.

Daha fazla bilgi için aşağıdaki kaynaklara göz atın:

Günlük dosyası bakımı

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

Cassandra günlük dosyalarının çok fazla yer kapladığını fark ederseniz 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 dosyasını düzenleyin. Bu 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ım yüzdesini düşürmek 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ştirir:

  • Jetonların süresi dolduğunda kimlik doğrulama jetonlarının silinmesi. Ancak yapılandırmanıza bağlı olarak, jetonların kullandığı disk alanının boşaltılması birkaç hafta sürebilir. Otomatik silme işlemi yeterli disk alanı sağlamıyorsa 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: Edge for Private Cloud 4.51.00 sürümünden itibaren, Apigee Cassandra'nın yeni yüklemeleri Leveled Compaction Strategy ile anahtar alanları oluşturur.

    Edge for Private Cloud 4.54.00'a yükseltilen Edge for Private Cloud'un önceki sürümlerinin yüklemeleri, önceki sıkıştırma stratejisini korur. Mevcut sıkıştırma stratejisi SizeTieredCompactionStrategy ise Apigee, daha iyi disk kullanımı sağlayan LeveledCompactionStrategy stratejisine geçmenizi önerir. Talimatlar için Cassandra sıkıştırma stratejisini değiştirme başlıklı makaleyi inceleyin.

Not: Cassandra, veri sıkıştırma işlemleri gerçekleştirirken önemli miktarda CPU döngüsü ve bellek kullanabilir. Ancak sıkıştırma işlemleri tamamlandığında kaynak kullanımı normale döner. Sıkıştırmanın çalışıp çalışmadığını kontrol etmek için her düğümde 'Nodetool compactionstats' komutunu çalıştırabilirsiniz. compactionstats komutunun çıktısı, yürütülmeyi bekleyen sıkıştırma işlemleri olup olmadığını ve tamamlanma için tahmini süreyi bildirir.