In terms of Cassandra, rack is considered as single point of failure. So, using some rack-aware snitch (GossipingPropertyFileSnitch would be the best for your case) Cassandra won't place multiple replicas of the same range in the same rack.
Basically, there are two requirements that should be met: 1) Number of C* racks must be not less than RF chosen [not less than 3 for RF=3] 2) [Recommended] Number of nodes should be [more-less] the same for all racks. In this case data/workload will be evenly balanced across all racks and nodes. Having requirement #1 met, failure of a rack would cause just unavailability of one replica of 3 for some token ranges. Of course, queries at consistency level ALL won't work in this case, but it's not typical to use CL=ALL for Cassandra. BTW, which CL's you will use? In case you use Cassandra version >= 3.0, you may lower value for vnodes per a server to 32 [maybe even to 16]. This will reduce overhead for anti-entropy repairs, AFAIK. Reference: https://issues.apache.org/jira/browse/CASSANDRA-7032 Kind Regards, Kyrill ________________________________ From: onmstester onmstester <onmstes...@zoho.com> Sent: Wednesday, February 28, 2018 10:11:19 AM To: user Subject: Re: Cassandra on high performance machine: virtualization vs Docker Thanks Unfortunately yes! this is a production, That's the only thing i have! and I'm going to use ESX (I'm not worried about throughput overhead although stress tests shows no problem with esx some thing like throughput of cassandra on single physical server < 3 * nodes on the same server) If i use like 3 nodes per physical server, using rf=3 and config nodes on every physical server to be in same rac (Cassandra config), and if one of my server (with 3 nodes on it) failed would the data be lost ? and my application fails (using write consistency = 3 and read consistency =1) ? Sent using Zoho Mail<https://www.zoho.com/mail/> ---- On Wed, 28 Feb 2018 08:13:01 +0330 daemeon reiydelle <daeme...@gmail.com> wrote ---- Docker will provide less per node overhead. And yes, virtualizing smaller nodes out of a bigger physical makes sense. Of course you lose the per node failure protection, but I guess this is not production? <======> "Who do you think made the first stone spear? The Asperger guy. If you get rid of the autism genetics, there would be no Silicon Valley" Temple Grandin Daemeon C.M. Reiydelle San Francisco 1.415.501.0198 London 44 020 8144 9872 On Tue, Feb 27, 2018 at 8:26 PM, onmstester onmstester <onmstes...@zoho.com<mailto:onmstes...@zoho.com>> wrote: What i've got to set up my Apache Cassandra cluster are some Servers with 20 Core cpu * 2 Threads and 128 GB ram and 8 * 2TB disk. Just read all over the web: Do not use big nodes for your cluster, i'm convinced to run multiple nodes on a single physical server. So the question is which technology should i use: Docker or Virtualiztion (ESX)? Any exprience? Sent using Zoho Mail