2013-03-06 22 views
11

Ben SimpleTopologyStrategy ve replication_factor=3 ile benim ringde 5 düğümleri var. Stres aracını kullanarak 1M satırları ekledim.RPC zaman aşımı - Cassandra

SELECT count(*) FROM Keyspace1.Standard1 limit 1000000; 

kullanarak cqlsh satır sayısını okumaya çalışıyorum zaman bu hata ile başarısız: Bu sınırı 100000 için getirir

Request did not complete within rpc_timeout.

500000.
Bütün düğümleri bile için başarısız. rpc_timeout'u yükseltmem gerekiyor mu?

Lütfen

Yardım edin.

+0

, ben söz mecbur hissediyorum ** sorgu zaman aşımı artan Bir üretim kümesinde korkunç, korkunç bir fikir. ** – Aaron

cevap

6

1M satırlarında okumak uzun zaman alır, bu nedenle muhtemelen zaman aşımına uğrar. Sayımı böyle kullanmamalısınız, tüm verileri okumak zorunda olduğu için çok pahalıdır. Çok sayıda öğe saymanız gerekiyorsa Cassandra sayaçlarını kullanın. bazen Cassandra'ya istisnalar istemci üzerinde zaman aşımları yol -

Ayrıca başka sorunlar değildir onaylamak için Cassandra günlüklerini kontrol edilmelidir. Eğer yaklaşık satır sayısı ile canlı

11

Bu hata, istek sunucu tarafında zaman aşımına uğradığı için alıyorsunuz. Kimsenin dikkat çektiği gibi bunun Cassandra'da çok pahalı bir operasyon olduğunu bilmesi gerekir.

Yine de, bunu gerçekten yapmak istiyorsanız, /etc/cassandra/cassandra.yaml dosyanızı güncelleştirin ve range_request_timeout_in_ms parametresini değiştirin. Bu, tüm aralık sorgularınız için geçerli olacaktır. Muhtemelen de istemci tarafında ayarlamak zorunda kalacak

range_request_timeout_in_ms: 40000 

:

Örnek 40 saniyelik zaman aşımı ayarlamak için. istemci olarak cqlsh kullanırken bu oluşturarak/~/.cassandra/cqlshrc altında cqlsh için yapılandırma dosyasını güncelleme ve connection bölüme client_timeout parametre eklemek gerçekleştirilir.

Örnek 40 saniyelik zaman aşımı ayarlamak için: Ben istediklerinin yapılması şey olarak bana bu yazıyı yönlendiren kişiyle birlikte çalışan insanlar olduğundan

[connection] 
client_timeout=40