Yanıtlar:
Belgelere bakarken, bunun için bir referans bulmakta zorlanıyorum, ancak kısa cevap "evet" nodetool repair
, kümenizdeki her düğümde çalıştırmanız gerekiyor . Bulabildiğim en yakın nokta, düğümlerin onarımı ile ilgili olarak, bir kerede kümenizdeki birden fazla düğümde onarım çalıştırmamanız gerektiğini gösteren belgelerdir .
Ayrıca çalıştırabilirsiniz onarım ile -pr
cari düğüm sorumlu olduğunu ilk belirteç aralığa onarım işlemini sınırlayan bayrağı. Bu, kalan düğümlerde çalıştırıldığında işin çoğaltılmasını azaltır.
-pr
her düğümde çalıştırırsanız tüm anahtar boşluklarını kaplayacaktır.
-pr
bayrakla zaman kazanabilirsiniz .
Nasıl davrandığı yapılandırmanıza, Cassandra'nın hangi sürümünü kullandığınıza ve onarım komutunu nasıl çalıştırdığınıza bağlıdır.
nodetool repair
Bir kümede yalnızca tek bir düğümde çalıştırırsanız , düğümün sorumlu olduğu tüm verileri (belirteç aralıkları) ve bu verilerden sorumlu diğer düğümleri onarır.
Örneğin, nodetool repair
komutu belirli bir kümedeki tek bir düğümde çalıştırırsanız :
Bununla birlikte, -hosts
ve -dc
bayraklarını kullanarak onarım yapmak için hangi ana bilgisayarların ve veri merkezlerinin tanımlanması mümkündür . Ayrıca kullandığınız takdirde -pr
çalıştırmak zorunda kalacak (sadece düğüm sorumludur ilk belirteç aralığı bulacaktır) bayrağı nodetool repair -pr
üzerinde tüm kümedeki düğümler.
Akılda tutulması gereken bir diğer bayrak -inc
Cassandra 2.1'de yer alan bayraktır. Bu seçenek yalnızca yeni verileri onaracaktır (önceden onarılmamış veriler). Buna güvenirken, özellikle verileri sık sık siliyorsanız dikkatli olun. ( daha fazlası )
Akılda tutulması gereken başka bir şey, Cassandra'da onarımların varsayılan şekilde yapılmasının değişebileceğidir. Cassandra 2.1'den itibaren çalışırken sadece nodetool repair
varsayılan olarak tam sıralı onarım gerçekleştirir. Sürümünüzün ne yaptığına bakmak isteyeceksiniz.
Konu hakkında daha fazla bilgi için:
Hayır, her bir düğümde koşmanıza gerek yoktur. belgelerdenodetool repair
açıkça belirtilen düğümler kümesi üzerinde çalışır .
Onarımı çalıştırmak istediğiniz düğümleri veya verilerin bir bölümünü sınırlayabilirsiniz. Örneğin, -pr
düğümün sorumlu olduğu bölüm aralığı için seçenek sunabilirsiniz , ancak bunun tüm kümede çalıştırılması gerekir. Ancak seçerseniz -local
, düğümün yerel veri merkezindeki düğümler onarılır.
nodetool repair
Tek bir düğümde çalıştırmak , tüm yapılandırmalardaki tüm düğümlerdeki tüm çoğaltılmış verileri onarmak için yeterli değildir. nodetool repair
Tek bir düğümde çalıştırmak , yalnızca o düğümde çoğaltılmış verileri onarır. ( -pr
Seçeneğin eklenmesi, onarımı bu düğümün ilk çoğaltma olduğu verilerle sınırlar.) Ancak kümenizde bu düğümde çoğaltılmamış veriler varsa nodetool repair
, ek düğümlerde çalıştırmanız gerekir .
-pr
her düğümde koşarsam, bu tüm tuş alanını kaplayacak mı?