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.
- 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
- 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 sunanLeveledCompactionStrategy
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.