Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 15610F127 for ; Thu, 18 Apr 2013 14:42:27 +0000 (UTC) Received: (qmail 49211 invoked by uid 500); 18 Apr 2013 14:42:24 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 49049 invoked by uid 500); 18 Apr 2013 14:42:24 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 49040 invoked by uid 99); 18 Apr 2013 14:42:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Apr 2013 14:42:24 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of arodrime@gmail.com designates 209.85.217.180 as permitted sender) Received: from [209.85.217.180] (HELO mail-lb0-f180.google.com) (209.85.217.180) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Apr 2013 14:42:18 +0000 Received: by mail-lb0-f180.google.com with SMTP id t11so2728007lbi.25 for ; Thu, 18 Apr 2013 07:41:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type; bh=CBRIztBhpO2dehUfqM7/XtyEPThxGT6eeCUJLSzdWV0=; b=u1VBL6dXgJ7nk1aXtjQAACR8db7bmliCr6F9b+ZNEokGN0eeD468f2fYqS4cXI45+V 1sU/nERlTnUfdVhliF8s4HVEFL2Qke5Ig6r2uXZOYXCCROWYkeV3yYC9qj4imvy7LmNv PXnRiowYqJ1ZtFa83Cp0rlsiUAjS7Lo1jnZWpTr+hLjvHAP+m+8tq0ZKnrL3Vd6c3QSI BfcaJqSmjc26vt2j7SoUZh2srDjQw2Z2xWeS9/LnGvYzUGOUYDEiZq3WrAa2tFXNM+MW 1PcAMKzwXWEhEhZDPjok5Q+vPaV1tH94LMbDDNhNQ8AwwO2OHqgQyEnEmvASTg/zhiwS AEsQ== X-Received: by 10.112.156.102 with SMTP id wd6mr6085470lbb.82.1366296117462; Thu, 18 Apr 2013 07:41:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.168.1 with HTTP; Thu, 18 Apr 2013 07:41:37 -0700 (PDT) From: Alain RODRIGUEZ Date: Thu, 18 Apr 2013 16:41:37 +0200 Message-ID: Subject: Ec2Snitch to Ec2MultiRegionSnitch To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=089e0112c0f4bd515f04daa39ac4 X-Virus-Checked: Checked by ClamAV on apache.org --089e0112c0f4bd515f04daa39ac4 Content-Type: text/plain; charset=ISO-8859-1 Hi, The company I work for is having so much success that we are expanding worldwide :). We have to deploy our Cassandra servers worldwide too in order to improve the latency of our new abroad customers. I am wondering about the process to grow from one data center to a few of them. First thing is we use EC2Snitch for now. So I guess we have to switch to Ec2MultiRegionSnitch. Is that doable without any down-time ? Our C* cluster : C*1.2.2, 6 EC2 m1.xLarge in eu-west already running, wanting to add 3 m1.xLarge on us-east I was planning to do it this way: 1/ Change the yaml conf on each of the 6 eu-west existing nodes - Ec2Snitch to Ec2MultiRegionSnitch - uncomment the broadcast_address and set the public ip of the node - let the private ip as defined right now the listen_address - switch seeds from private to public IP 2/ Rolling restart - nodetool disablegossip - nodetool disablethrift - nodetool drain - rm /path/cassandra/commitlog/* ? (I used to do it since drain was broken to avoid replaying counters logs, leading to overcounts, not sure how pertinent this is nowadays) - service cassandra stop - service cassandra start 3/ - Make sure everything is still running smoothly in eu-west servers 4/ - Add 3 nodes one by one with auto_bootstrap set to true. 5/ - Repair nodes (one by one) - Cleanup nodes (one by one) Questions : a/ Do I have to move the tokens since I don't use vnodes yet ? How should I position all these nodes ? b/ Is it useful to add a seed from the new us-east data center in the yaml of all nodes ? c/ I am using the SimpleStrategy. Is it worth it/mandatory to change this strategy when using multiple DC ? d/ With my 2 DC will I have 3 RF per DC or cross DC ? e/ Should I configure my C* client to use the C* nodes from their region as coordinators (which seems to me the good way) or should I configure all the servers everywhere ? Any comment on the process described above would be appreciated, specially if you are arguing that something is wrong about it. If you find out I am missing something, I will be glad to hear about it. Alain --089e0112c0f4bd515f04daa39ac4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi,

The company I work for i= s having so much success that we are expanding worldwide :). We have to dep= loy our Cassandra servers worldwide too in order to improve the latency of = our new abroad customers.

I am wondering about the process to grow from one data = center to a few of them. First thing is we use EC2Snitch for now. So I gues= s we have to switch to Ec2MultiRegionSnitch.

Is that doable without any down-time ?=A0

Our C* cluster : C*1.2.2, 6 EC2 m1.xLarge in eu-west al= ready running, wanting to add 3 m1.xLarge on us-east

I was planning to do it this way:

1/ Change the= yaml conf on each of the 6 eu-west existing nodes
=A0 =A0 - Ec2Snitch to Ec2MultiRegionSnitch
=A0 =A0 - uncomm= ent the broadcast_address and set the public ip of the node
=A0 = =A0 - let the private ip as defined right now the listen_address
= =A0 =A0 - switch seeds from private to public IP
2/ Rolling restart
=A0 =A0 - nodetool disablegossip
=A0 =A0 - nodetool disablethrift
=A0 =A0 - nodetool drain
=
=A0 =A0 - rm /path/cassandra/commitlog/* ? (I used to do it since drai= n was broken to avoid replaying counters logs, leading to overcounts, not s= ure how pertinent this is nowadays)
=A0 =A0 - service cassandra stop
=A0 =A0 - service cassandra= start
3/
=A0 =A0 - Make sure everything is still runni= ng smoothly in eu-west servers
4/
=A0 =A0 - Add 3 nodes= one by one with auto_bootstrap set to true.
5/
=A0 =A0 - Repair nodes (one by one)
=A0 =A0 - C= leanup nodes (one by one)


Questions= :

a/ Do I have to move the tokens since I don'= ;t use vnodes yet ? How should I position all these nodes ?
b/ Is it useful to add a seed from the new us-east data center in the = yaml of all nodes ?
c/ I am using the SimpleStrategy. Is it worth= it/mandatory to change this strategy when using multiple DC ?
d/ With my 2 DC will I have 3 RF per DC or cross DC ?
e/ Should I= configure my C* client to use the C* nodes from their region as coordinato= rs =A0(which seems to me the good way) or should I configure all the server= s everywhere ?

Any comment on the process described above would be app= reciated, specially if you are arguing that something is wrong about it.

If you find out I am missing something, I will be gl= ad to hear about it.

Alain

--089e0112c0f4bd515f04daa39ac4--