2013-12-12 27 views
6

Cassandra version 1.2.9. Beş düğüm kümesi, ancak düğümlerden biri donanım hatası ile düştü ve onarım/değiştirme ETA bilinmiyor. Aşağı düğümü kaldırmak/kaldırmak istiyorum (bildirimler tüm günlükleri karıştırıyor). nodetool removenode mükemmel görünüyor, ancak bir host ID gerektiriyor. Aşağı düğümde hiçbir ana bilgisayar kimliği (null olarak listelenmemiş) vardır:Cassandra - Ölü düğümün kaldırılması

Kaldırma belirtecinin artık düğümü için bir seçenek olmadığı anlaşılıyor.

Bu ölü düğümü kaldırmanın uygun yolu nedir?

+0

DataStax'ın "ölü bir düğümü değiştirerek" belgelerine bir bağlantı verecektim, ancak son adım, sizin için işe yaramadığını belirttiğiniz bir "nodetool removenode" yapmaktır. Nodetool hareketine bakmayı denediniz mi? Teoride, yedek düğümü (başlangıç_ölçümünü ölü düğümün eksi 1'i ile ayarlanmış) getirebilir ve ardından istenen simge aralığına getirebilirsiniz. – Aaron

+1

Henüz bir yedek sunucumuz yok. Removetoken çalıştım; Bu sürümde kullanımdan kaldırıldı. Removenode denedim; ancak ana bilgisayar kimliği yok, bu yüzden başarısız oluyor. Harekete geçtim ve yeterli akış kaynağına sahip olmadı. Sırada bir JMX komutu vardı: Kabuk modunu girme. % jmx_invoke -m org.apache.cassandra.net:type=Gossiper güvensizAssassinateEndpoint . Bu, boş bir işaretçi istisnasıyla başarısız oldu. Hala üzerinde çalışıyor. –

+6

Aşağıdaki adımlar DID çalışması: - 1) Kalan her düğümde, -Dcassandra.load_ring_state = cassandra-env.sh dosyanızdaki JVM_OPTS dosyasına yanlış ekleyin ve yeniden başlatın. - 2) Düğüm durumunu tekrar çalıştırın ve istenmeyen düğümün gittiğini doğrulayın. - 3) Her düğümde, sf = '[ölü düğümün ip adresi]' nin bulunduğu system.peers dosyasından silme işlemini çalıştırın; via cqlsh - 4) Her düğümdeki cassandra-env.sh dosyasından -Dcassandra.load_ring_state = false 'ı kaldırın ve yeniden başlatın. –

cevap

0

Soru, cassandra'nın eski sürümü içindir. Ancak resmi çözüm, cassandra'nın herhangi bir sürümü için geçerli olmalıdır - buradaki adımlar temel olarak kümeyi durdurmayı, bakmaya ilişkin sstables'leri silmeyi, dedikodu durumunu temizlemeyi ve kümeyi yeniden başlatmayı; hangisi mantıklı.