Birkaç Slave veritabanına çoğaltan bir MySQL Master veritabanı kuruyorum.
Sorum şu: köle veritabanlarının güncel olduğunu izlemek ve / veya sınamak için en iyi uygulama nedir ve bu, çoğaltmanın durmasına neden olan bir hata olduğunda bir yönetici uyarır.
İzleme araçlarını aradım, ancak uygun olan hiçbir şeyi bulamadım.
Ayrıca, köleler arasında senkronizasyonu test etmek için 'en iyi uygulamalar' yaklaşımı nedir? Db çoğaltma için Birim Testi gibi bir şey var mı?
Mademdeki cehaletim kimseyi rahatsız ediyorsa özür dilerim.
Çoğaltma ile ilgili büyük sorun kontrol ediliyor
- düğümlerin hepsi bitti,
- tüm düğümler iletişim halindedir (beyni bölmez)
- ve çoğaltma günlüklerini işleme
- ve çoğaltma gecikmesi
1, 3 ve 4, ilgili düğümlerde SHOW MASTER STATUS / SHOW SLAVE STATUS kullanarak yakalanabilir, ancak replikasyon gecikmesi sadece 1 saniye hassasiyete sahiptir ve sadece her bir atlamadadır. Percona araç seti, daha doğru çoğaltma gecikmeleri almak için komut dosyalarına sahiptir.
Çok ana kopyalamayı kullanma (ör. tungsten, Percona) çok fazla acı çekiyor ancak kurulum için ek çaba / yazılım gerekiyor.
Aktarımlar arasındaki ağ başarısız olursa, işlemlerin tümü iyi çalışıyor olabilir - ancak verileri aktaramayacak - her düğümde izleme yapmak gerekir;
Birkaç Bağımlı veritabanına çoğaltan bir MySQL Master veritabanı
En iyi uygulama, kölelerden birini usta olarak tanımlamaktır - iki yönlü çoğaltma. Böylece, bir kesinti durumunda kolayca geçiş yapabilir veya endeksleri, yedeklemeleri, şema değişikliklerini yeniden oluşturma gibi bakım görevlerini gerçekleştirebilirsiniz.
Köle düğümlerinin sayısına bağlı olarak, ayrıca bir fanout düğümü değişiklikleri yaymak.
Eskalasyonları yönetme, veri toplamak için betiklerin programlanması vb. İçin, bunu yapan birçok araç var - nagios kullanıyorum, bu yüzden başka birçok insan var.
Sorum şu: izlemek ve / veya test etmek için en iyi yöntemler nelerdir
köle veri tabanlarının güncel olduğunu,
Basit bir test için master üzerindeki verileri ekleyin / güncelleyin ve slave'lere çoğaltıldığından emin olun.
Fakat tutarlılık kontrolü için pt-sofra sağlama aradığın şey.
Ör.
pt-table-checksum localhost --empty-replicate-table --databases db --nocheck-replication-filters --replicate percona.checksums > /var/log/pt-table-checksum.log 2>&1
ve bu bir hata olduğunda bir yönetici uyarır
Çoğaltma
Nagios kullanıyorsanız check_mysql_health eklenti, köle durumunu izlemenize yardımcı olabilir (çalışıyor veya çalışmıyor). Ancak tutarlılığı izlemek için bir göz atın pmp-check-pt-masa-sağlama Eklenti.
Sakın kaçırmayın pt-masa senkronize tutarsız varsa:
pt-table-sync -v --print --sync-to-master h=localhost,D=db,t=table
pt-table-sync -v --execute --sync-to-master h=localhost,D=db,t=table
Büyük olasılıkla kullanmanız gerektiğini unutmayın.
--print İlk seçenek.
köle yapmak
SHOW SLAVE STATUS\G;
Eğer bunları alıyorsanız:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Bu hemen hemen orada, MASTER üzerinde herhangi bir işlem yapmak için deneyin ve aynı otomatik olarak slave üzerinde çoğaltmak emin olun denemek anlamına gelir
İzleme araçlarını aradım, ancak bulamadım
uygun bir şey.
Kullanabilirsiniz Cacti için Percona MySQL İzleme Şablonu [s]. MySQL Çoğaltma şablonuna göz atın.
pt-heartbeat araç).
Şerefe