2011-01-17 7 views
6

Cassandra'nın hâlâ beta seviyesinde olduğunu biliyorum ama onunla oynamak isterim. Bu hiçbir şekilde bir üretim projesi değildir; sadece eğlence için ve biraz öğrenmek için. Fakat öğrenmenin en iyi yolu, insanları konuşlandırmak ve insanlara kendi hızlarına uydurmaktır.Cassandra'yı EC2'ye mi dağıtıyorsunuz?

Cassandra'yı Heroku ile kullanmak istiyorum, bu yüzden onu EC2'de (Heroku'nun olduğu gibi) dağıtmak istiyorum. Bunu yapmanın en iyi, en kolay ve en ucuz yolu nedir? Herhangi bir tavsiye?

Google'dan birkaç tane gördüm, ancak şu gibi uyarılar: EC2 örnekleri, üretim kullanımı için uygun değil. Verileri örnek üzerinde saklarlar ve örnek kapatıldığında yok olurlar.

cevap

4
  • Kullanım Elastik Blok Depolama (EBS) Cassandra log ve veri dosyalarını depolamak için örnekler. Bu dosyaların nereye gittiğini belirtmek için /etc/cassandra/cassandra.yaml değiştirmeniz gerekecektir. EBS örnekleri, bağlandıkları EC2 örnekleri kapatıldığında da devam eder. Arabirimi denemek ve veri modelini denemek için bir örnek üzerine kurabilirsiniz. Henüz bir küme oluşturmanıza gerek yok.

  • Kümeleme yeteneklerini sınamak için, üç örneği ayarlayıp tüm anahtar alanlarını 3'lük bir çoğaltma katsayısını vermeyi deneyebilirsiniz. Ancak bu, veri modelini denemekten ziyade daha sonraki bir deneme aşaması olabilir. Önerilen minimum küme boyutu 3'tür.

  • Farklı makine boyutlarını denemelisiniz. Ultra küçük örnek boyutlarıyla deneme yapmak için Rackspace gibi alternatif satıcılar kullanabilirsiniz. Daha küçük örnek boyutlarıyla performans sorunlarıyla karşılaşırsanız, örnek boyutlarını büyütmenin bu sorunları çözüp çözmediğine bakın.

  • Raylar için birkaç tane alfa Cassandra-Object-Mapping kitaplığı var. Bunların sizin için işe yaramadığını görebilirsiniz. Onlara katkıda bulunmayı seçebilir veya yalnızca modelinizin kalıcılık kodunu doğrudan modelinizde uygulayabilirsiniz. Rails 3 uygulamaları için, ActiveModel arabirimine ve yardımcı modüllere bakmak isteyebilirsiniz, böylece modelleriniz ActionPack ve ActiveModel uyumlu modellerin beklendiği diğer kütüphanelerle iyi çalışır.

+2

Bu yanıt gerçekten güncel değil. İlk olarak, kimse EBS'yi cassandra ile kullanmaz. Cidden yapma. Bunun yerine, ext4 ile tüm geçici disklerin bir LVM RAID-0 hacmini oluşturun. Dört tane ephemeral'e sahip olduğundan ve I/O bant genişliği EC2'deki en büyük darboğaz olduğundan m1.xlarge öğesini kullanın. Net ayırma/tam AZ kesintisinden kurtulmak için düğümlerinizi kullanılabilirlik bölgeleri boyunca şeritlediğinizden emin olun. Düzenli nodetool anlık görüntülerini yapmak ve yedekleme için S3'e yüklemek için bir cron işi yazın. Yine, G/Ç bant genişliği en büyük düşmanınız olduğu için, üretimde bir kez örnek boyutunu artırmaktan ziyade kümenizi büyütme olasılığınız yüksektir. –