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 266BD8150 for ; Sun, 14 Aug 2011 22:33:13 +0000 (UTC) Received: (qmail 24887 invoked by uid 500); 14 Aug 2011 22:33:10 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 24649 invoked by uid 500); 14 Aug 2011 22:33:10 -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 24641 invoked by uid 99); 14 Aug 2011 22:33:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Aug 2011 22:33:09 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [208.113.200.5] (HELO homiemail-a43.g.dreamhost.com) (208.113.200.5) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Aug 2011 22:33:04 +0000 Received: from homiemail-a43.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a43.g.dreamhost.com (Postfix) with ESMTP id 84AEA8C058 for ; Sun, 14 Aug 2011 15:32:43 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=thelastpickle.com; h=from :mime-version:content-type:subject:date:in-reply-to:to :references:message-id; q=dns; s=thelastpickle.com; b=TpyknMm4QB p7ZLQqW3fFlACoOlA4D0dnMj8awBaqOa5QonmChWNx7m7msqxX6DczCDfRuzMelD 1FEfDMmL63dA7BwNEauUq5murPFXTJir8TBlLNGA79+60hfW1z6CLTU9nJpyZogN djAGNLwyyj6fDz+Kg+vHrxLhzV/PhQIbw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=thelastpickle.com; h=from :mime-version:content-type:subject:date:in-reply-to:to :references:message-id; s=thelastpickle.com; bh=AIIjLE4+OPMxswxV M/zWc2L8br8=; b=zLXZddDCFEgKKptNMm51BABC/aB7Ml8bngTZIg1JTFslO5Iu +CZ0pzPAef03F6F4xFVecIUusWcn/BicVaRI3T5L9GFrFFZtwvGmPeXdZPdFQgmf 2g7L1UXcmUpuPo9HttkafPtLRgnRibkUcxEiOhTlVMv8PM3ZvxZDf7dKZKg= Received: from 202-126-206-214.vectorcommunications.net.nz (unknown [202.126.206.214]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: aaron@thelastpickle.com) by homiemail-a43.g.dreamhost.com (Postfix) with ESMTPSA id BB64C8C056 for ; Sun, 14 Aug 2011 15:32:42 -0700 (PDT) From: aaron morton Mime-Version: 1.0 (Apple Message framework v1244.3) Content-Type: multipart/alternative; boundary="Apple-Mail=_C2D009C5-CA27-4B88-9E9D-3EEB2B12AD9E" Subject: Re: Best practices when deploying & upgrading a cassandra cluster Date: Mon, 15 Aug 2011 10:32:43 +1200 In-Reply-To: To: user@cassandra.apache.org References: <654C69BC-8635-4796-940E-EC73F44B95BC@thelastpickle.com> Message-Id: <1E821EA4-BCF6-4272-A538-4AAD49208964@thelastpickle.com> X-Mailer: Apple Mail (2.1244.3) --Apple-Mail=_C2D009C5-CA27-4B88-9E9D-3EEB2B12AD9E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 There can be bugs in the trunk. Stuff can be put in and the taken out. The tagged and packages releases are considered stable and supported. = You can run trunk in prod if you want to, it's good to get tested, but = you will need to pay attention to whats happening with the code base and = be prepared to accept any consequences. =20 You will have a less exciting life if you use the official releases.=20 Cheers ----------------- Aaron Morton Freelance Cassandra Developer @aaronmorton http://www.thelastpickle.com On 15/08/2011, at 6:07 AM, Eldad Yamin wrote: >=20 > Is there any good reason why shouldn't we build the latest version = from source? >=20 > Thanks! > On Fri, Aug 12, 2011 at 12:18 AM, aaron morton = wrote: > In a non dev system it's a lot easier to use the packages=20 > http://wiki.apache.org/cassandra/DebianPackaging > http://www.datastax.com/docs/0.8/install/packaged_releases >=20 > Cheers >=20 > ----------------- > Aaron Morton > Freelance Cassandra Developer > @aaronmorton > http://www.thelastpickle.com >=20 > On 12 Aug 2011, at 02:30, Martin Lansler wrote: >=20 >> (Note: This is a repost from another thread which did not have a >> relevant subject, sorry for the spamming) >>=20 >> Hi Eldad / All, >>=20 >> On Wed, Aug 10, 2011 at 8:32 AM, Eldad Yamin = wrote: >>> Can you please explain how did you upgraded. something like = step-by-step. >>> Thanks! >>=20 >> I took the liberty of replying to the group as it would be = interesting >> to hear how other folks out there are doing it... >>=20 >> I'm *not* running a prod system, just a test system of three nodes on >> my laptop. So it would be nice to hear about real setups. Here is my >> test setup: >>=20 >> apache-cassandra -> apache-cassandra-0.8.3 >> apache-cassandra-0.8.2/ >> apache-cassandra-0.8.3/ >> node1/ >> node2/ >> node3/ >>=20 >> All nodeX look like: >> bin -> ../apache-cassandra/bin/ >> commitlog/ >> conf/ >> data/ >> interface -> ../apache-cassandra/interface/ >> lib -> ../apache-cassandra/lib/ >> saved_caches/ >>=20 >> The 'conf' directory is copied into each node from the virgin >> cassandra distribution. I then create a local GIT repo and add the >> 'conf' directory so I can track any configuration changes on a node. >> Then relevant node specific configuration settings are set. The >> 'commitlog', 'data' and 'saved_caches' are created by cassandra and >> must be configured in 'cassandra.yaml' for each node. >>=20 >> When I upgrade I do the following: >>=20 >> 1. >> Make a diff of the new conf files from the new version so that get >> new parameters etc... I use emacs ediff-mode. >> 2. >> Remove the old "apache-cassandra" symlink and point it to the new = cassandra dist >> 3. >> In a rolling fashion stop one node, and then restart it... as the >> symlink is changes it will then boot with the upgraded cassandra = dist. >> (remember to cd out & in of the bin/ dir otherwise you will still be >> in the old directory). >> (4). >> Should something break... just re-create the old symlink and restart >> the node (provided cassandra has not performed any non backwards >> compatible changes to the db files, should be noted in the README) >>=20 >> That's pretty much it. >>=20 >> On a prod setup one would probably use a tool such as puppet >> (www.puppetlabs.com/) to ease setting up on many nodes... But there >> are many ways to do this, for instance pssh >> (http://code.google.com/p/parallel-ssh/). >>=20 >> Regards, >> -Martin >=20 >=20 --Apple-Mail=_C2D009C5-CA27-4B88-9E9D-3EEB2B12AD9E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=iso-8859-1 There = can be bugs in the trunk. Stuff can be put in and the taken = out.

The tagged and packages releases are considered = stable and supported. You can run trunk in prod if you want to, it's = good to get tested, but you will need to pay attention to whats = happening with the code base and be prepared to accept any consequences. =  

You will have a less exciting life if = you use the official = releases. 

Cheers

http://www.thelastpickle.com

On 15/08/2011, at 6:07 AM, Eldad Yamin wrote:


Is there any good reason why shouldn't we = build the latest version from source?

Thanks!
On Fri, Aug 12, 2011 at 12:18 AM, aaron morton = <aaron@thelastpickle.com> wrote:
In a non dev system it's a lot easier to = use the packages 
http://wiki.apache.org/cassandra/DebianPackaging

Cheers

-----------------
Aaron= Morton
Freelance Cassandra = Developer
@aaronmorton

On 12 Aug 2011, at 02:30, Martin Lansler = wrote:

(Note: This is a repost = from another thread which did not have a
relevant subject, sorry for = the spamming)

Hi Eldad / All,

On Wed, Aug 10, 2011 at 8:32 AM, Eldad Yamin <eldad87@gmail.com> wrote:
Can you please explain how did you upgraded. something = like step-by-step.
Thanks!

I = took the liberty of replying to the group as it would be = interesting
to hear how other folks out there are doing = it...

I'm *not* running a prod system, just a test system of = three nodes on
my laptop. So it would be nice to hear about real setups. Here is = my
test setup:

apache-cassandra -> = apache-cassandra-0.8.3
apache-cassandra-0.8.2/
apache-cassandra-0.8.= 3/
node1/
node2/
node3/

All nodeX look like:
bin -> = ../apache-cassandra/bin/
commitlog/
conf/
data/
interface = -> ../apache-cassandra/interface/
lib -> = ../apache-cassandra/lib/
saved_caches/

The 'conf' directory is = copied into each node from the virgin
cassandra distribution. I then create a local GIT repo and add = the
'conf' directory so I can track any configuration changes on a = node.
Then relevant node specific configuration settings are set. = The
'commitlog', 'data' and 'saved_caches' are created by cassandra = and
must be configured in 'cassandra.yaml' for each node.

When I = upgrade I do the following:

1.
Make a diff of the new conf = files from the new version so that  get
new parameters etc... I = use emacs ediff-mode.
2.
Remove the old "apache-cassandra" symlink and point it to the new = cassandra dist
3.
In a rolling fashion stop one node, and then = restart it... as the
symlink is changes it will then boot with the = upgraded cassandra dist.
(remember to cd out & in of the bin/ dir otherwise you will still = be
in the old directory).
(4).
Should something break... just = re-create the old symlink and restart
the node (provided cassandra = has not performed any non backwards
compatible changes to the db files, should be noted in the = README)

That's pretty much it.

On a prod setup one would = probably use a tool such as puppet
(www.puppetlabs.com/) to ease setting up on many = nodes... But there
are many ways to do this, for instance pssh
(http://code.google.com/p/parallel-ssh/).

Rega= rds,
-Martin



= --Apple-Mail=_C2D009C5-CA27-4B88-9E9D-3EEB2B12AD9E--