2013-07-11 13 views
15

arasındaki fark nedir:Cassandra node - yeniden oluşturuluyor v.s. onarım

a) nodetool rebuild

b) Başka bir deyişle nodetool repair [-pr]

, tam olarak ilgili komutlar ne yaparsınız?

+0

http://www.datastax.com/documentation/cassandra/1.2/index.html#cassandra/tools/toolsNodetool_r.html adresine göre, "onarım" iken yeni bir veri merkezi oluşturmak için "yeniden oluşturma" kullanılır. Mevcut veri düğümleri arasında tutarlılık sağlamak – manuzhang

cevap

21

nodetool yeniden oluşturma: önyükleme işlemine benzer (kümeye yeni bir düğüm eklediğinizde), ancak veri merkezi için. Buradaki süreç esas olarak halihazırda canlı düğümlerden yeni düğümlere (yeni olanlar boş) akıştır. Bu nedenle çok hızlı olan düğümlerin anahtar aralıkları tanımlandıktan sonra, kalanlar bir kopyalama işlemi olarak görülebilir.

nodetool repair -pr: bir kopyalama işlemi değil, onarılan düğüm boş değil, zaten veri içeriyor, ancak çoğaltma faktörü 1'den büyükse, verilerin geri kalanındaki verilerle karşılaştırılması gerekiyor replikalar varsa ve bir fark varsa düzeltilecektir. Süreç çok sayıda akış içerir, ancak veri akışı değildir: Onarılmış olan düğüm, her iki düğümün de aynı olup olmadıklarını doğrulamak için bir çile ağacı (temel olarak bir ağaç kabuğu) talep eder; Herhangi bir farkı olan verilerin bölümünün tam akışı (bu nedenle tüm kopyaların aynı verilere sahip olması). Doğrulamadan önce tüm verileri akışa sürmekten daha hızlı bir şekilde bu karma akışları yayınlamak, buradaki ve burada bazı farklılıklar haricinde çoğu verinin her iki düğümde de aynı olacağı varsayımı altında çalışır. Bu süreç aynı zamanda veri tabanından silindiğinde ortaya çıkan ve yeni bir "kontrol noktası" gibi tanımlayan mezar taşlarını da ortadan kaldırmakta, daha sonra veri silindiğinde yeni mezar taşları oluşturulacak, ancak eskiler artık kullanılmayacaktır.

Umut eder!

İlgili konular