Return-Path: Delivered-To: apmail-incubator-cassandra-user-archive@minotaur.apache.org Received: (qmail 25899 invoked from network); 3 Mar 2010 13:58:08 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 3 Mar 2010 13:58:08 -0000 Received: (qmail 24616 invoked by uid 500); 3 Mar 2010 13:58:00 -0000 Delivered-To: apmail-incubator-cassandra-user-archive@incubator.apache.org Received: (qmail 24600 invoked by uid 500); 3 Mar 2010 13:58:00 -0000 Mailing-List: contact cassandra-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-user@incubator.apache.org Delivered-To: mailing list cassandra-user@incubator.apache.org Received: (qmail 24592 invoked by uid 99); 3 Mar 2010 13:58:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Mar 2010 13:58:00 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gdusbabek@gmail.com designates 74.125.83.47 as permitted sender) Received: from [74.125.83.47] (HELO mail-gw0-f47.google.com) (74.125.83.47) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Mar 2010 13:57:52 +0000 Received: by gwj17 with SMTP id 17so608748gwj.6 for ; Wed, 03 Mar 2010 05:57:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=NtXZzRsS1tGYZen16lD14GlX2PyoAKbnj0kLwek36hk=; b=WNSj6rIhPiIdgeqEciXA5mAqjMS4n7KI4m6tw/MHGvlUZd302CTODNokEdYBtbSx2t MVbgfktxj+srjRdGeUrsMOfK7tnTtg1/piSfU56q3Y+4qQAneCCW1RiaEz5rB5MlV0rq QZ62nOt9HBavz0P5oFIMtLCZiTRrKRerDV+QQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:content-type:content-transfer-encoding; b=xMMgmm0qU3URyY2DfcPQppnmXM1fKZ1p6jelyrZUJuS4iF6fB/jz/hIB20Xnl8tum6 J7HJmKod+/JlMIC4CuKgtc5E8ZlX/IouzOugHQZ/kts1HugiyxwX+R5jjBnvjAJpaBGk iN3kYl7UiHWdj9zN4QgKkPh6yjvH7Ofm2YAWk= MIME-Version: 1.0 Received: by 10.150.169.18 with SMTP id r18mr1162739ybe.263.1267624652068; Wed, 03 Mar 2010 05:57:32 -0800 (PST) Reply-To: gdusbabek@gmail.com In-Reply-To: <87eik1lf8b.fsf@lifelogs.com> References: <87hbozq574.fsf@lifelogs.com> <87eik1lf8b.fsf@lifelogs.com> Date: Wed, 3 Mar 2010 07:57:32 -0600 Message-ID: <1c6fcff1003030557v527c2dcbn78e1ea9f93adc328@mail.gmail.com> Subject: Re: finding Cassandra servers From: Gary Dusbabek To: cassandra-user@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org 2010/3/3 Ted Zlatanov : > On Mon, 01 Mar 2010 12:15:11 -0600 Ted Zlatanov wrote: > > TZ> I need to find Cassandra servers on my network from several types of > TZ> clients and platforms. =A0The goal is to make adding and removing ser= vers > TZ> painless, assuming a leading window of at least 1 hour. =A0The discov= ery > TZ> should be automatic and distributed. =A0I want to minimize management= . > > TZ> Round-robin DNS with a 1-hour TTL would work all right, but I was > TZ> wondering if Bonjour/Zeroconf is a better idea and what else should I > TZ> consider. > > So... is this a dumb question or is there no good answer currently to > discovering Cassandra servers? > > Ted > > Nothing in the current codebase currently meets these needs. But then again, cassandra doesn't need the described functionality. Zeroconf confines itself to a single subnet (would require router configuration to work across subnets so that multicast goes through). RRDNS would work, but something would need to keep that updated when servers go away (it wouldn't be automatic). If you can count on one of your (seed nodes) to be up, RRDNS could be used to connect to one of them and fetch the token range list. To do this, create a thrift client and call describe_ring. In older versions you can get a jsonified endpoint map by calling get_string_property('token map'). Hope that helps. Gary.