From user-return-62959-archive-asf-public=cust-asf.ponee.io@cassandra.apache.org Tue Jan 8 16:39:39 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id BA841180652 for ; Tue, 8 Jan 2019 16:39:38 +0100 (CET) Received: (qmail 41653 invoked by uid 500); 8 Jan 2019 15:39:37 -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 41643 invoked by uid 99); 8 Jan 2019 15:39:36 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Jan 2019 15:39:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 83640CBF85 for ; Tue, 8 Jan 2019 15:39:36 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.867 X-Spam-Level: * X-Spam-Status: No, score=1.867 tagged_above=-999 required=6.31 tests=[DKIMWL_WL_MED=-0.143, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, T_SPF_PERMERROR=0.01] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=edgelab-ch.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 0iAFhFi5YdzD for ; Tue, 8 Jan 2019 15:39:34 +0000 (UTC) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id DC2EC5F2F2 for ; Tue, 8 Jan 2019 15:39:33 +0000 (UTC) Received: by mail-lf1-f43.google.com with SMTP id u18so3219307lff.10 for ; Tue, 08 Jan 2019 07:39:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=edgelab-ch.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=E3JjvFKkBNP7qhVwpTeiZQ5OeJu7XrfUI2HnufssLnI=; b=gCFVuTOr139edkpacbsgKKmiS81oCNv9xnINGL8oK9CKgaAIdlztYC+DhirJtJZujM +Qa05vmFy4BqhLS2fWBPGTSpHj+7xuOTFqnFRHTEKqaShl2FCTJHz2awCZz1LRq6hleu VzO4eEAS3yxPShyxPPzsagT3j1iDbySFNnUmySC3albY+/jnEZPOcSCC6Ye+3A158gMv UzzvaZLiIK3hQhSHJUCZZm+u0ZpNbqdA4D6YbjXoRqHRyPWIjZYNNHXmHaNZCf+GKNim 7oGRP+EQNYtG40yhRV3oh1gL6wyju4zlx1RUlMAY5dlPnhU0c9rnoC52R4GYJdO0b+cV Pb6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=E3JjvFKkBNP7qhVwpTeiZQ5OeJu7XrfUI2HnufssLnI=; b=gAfnOFCzwU52kI27sjzSDKRGo6nH+8G26EexyDc25C/HtZ5MRk+Z32fGpRyFSklPlf F/Q2nZ4Ws/CprfjpyTYZzzf78IFzDtM7QLtXaC6jHHH/yX0E7H3voN3BbTV/hIbV3j/C 7WNhA/lfoRgXqo4eyt6+lFu+YeLE33D72csTC4HVy8wtUXehcDBf3z5kMQuf5+Y/riIe 11UWkHF5tpls/WTS0NmDlpa+xquiau64IxxH3RKTkD8nHtnjAEw0ODWhTReZ780QMMiN Ux/LCiP2KEfunvIhEH2KBKwvWjbozvHNC8TnSzeiwV8ol/vG2zd83dEPYCqTHIBlM5WZ 0DZw== X-Gm-Message-State: AJcUukfVBShSh1UZ68I+udQVGVXnkBYf38HJqEsM+jTTVnxJlgOPijC1 3Q7YzXxpsPFgYBHGO+QXOsQ0ddvFf/1PcUZOw5V+pqr/xcE= X-Google-Smtp-Source: ALg8bN6iU1BMxcKPeeqOaAplx3niYRzUtTT+GE4gETjUg9G32VsNug2IbRPC52G+shEizqzlX9Y2bGNV8T5e5GuwVt8= X-Received: by 2002:a19:d5:: with SMTP id 204mr1252043lfa.116.1546961971657; Tue, 08 Jan 2019 07:39:31 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Ballet Date: Tue, 8 Jan 2019 16:39:18 +0100 Message-ID: Subject: Re: How seed nodes are working and how to upgrade/replace them? To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary="000000000000cd706c057ef426c4" --000000000000cd706c057ef426c4 Content-Type: text/plain; charset="UTF-8" On Mon, 7 Jan 2019 at 16:51, Oleksandr Shulgin wrote: > On Mon, Jan 7, 2019 at 3:37 PM Jonathan Ballet wrote: > >> >> I'm working on how we could improve the upgrades of our servers and how >> to replace them completely (new instance with a new IP address). >> What I would like to do is to replace the machines holding our current >> seeds (#1 and #2 at the moment) in a rolling upgrade fashion, on a regular >> basis: >> >> * Is it possible to "promote" any non-seed node as a seed node? >> >> * Is it possible to "promote" a new seed node without having to restart >> all the nodes? >> In essence, in my example that would be: >> >> - decide that #2 and #3 will be the new seed nodes >> - update all the configuration files of all the nodes to write the IP >> addresses of #2 and #3 >> - DON'T restart any node - the new seed configuration will be picked up >> only if the Cassandra process restarts >> > > You can provide a custom implementation of the seed provider protocol: > org.apache.cassandra.locator.SeedProvider > > We were exploring that approach few years ago with etcd, which I think > provides capabilities similar to that of Consul: > https://github.com/a1exsh/cassandra-etcd-seed-provider/blob/master/src/main/java/org/zalando/cassandra/locator/EtcdSeedProvider.java > Hi Alex, we were using also a dedicated Consul seed provider but we weren't confident enough about maintaining our version so we removed it in favor of something simpler. Ultimately, we hope(d) that delegating the maintenance of that list to an external process (like Consul Template), directly updating the configuration file, is (should be?) mostly similar without having to maintain our own copy, built with the right version of Cassandra, etc. Thanks for the info though! Jonathan --000000000000cd706c057ef426c4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, 7 Jan = 2019 at 16:51, Oleksandr Shulgin <oleksandr.shulgin@zalando.de> wrote:
On Mon, Jan 7, 2019 at 3:37 PM Jonathan Ball= et <jballet@edge= lab.ch> wrote:

I= 9;m working on how we could improve the upgrades of our servers and how to = replace them completely (new instance with a new IP address).
What I wou= ld like to do is to replace the machines holding our current seeds (#1 and = #2 at the moment) in a rolling upgrade fashion, on a regular basis:

= * Is it possible to "promote" any non-seed node as a seed node?
* Is it possible to "promote" a new seed node without havin= g to restart all the nodes?
=C2=A0 In essence, in my example that would = be:

=C2=A0 - decide that #2 and #3 will be the new seed nodes
=C2= =A0 - update all the configuration files of all the nodes to write the IP a= ddresses of #2 and #3
=C2=A0 - DON'T restart any node - the new seed= configuration will be picked up only if the Cassandra process restarts
=

You can provide a custom imple= mentation of the seed provider protocol: org.apache.cassandra.locator.SeedP= rovider

We were exploring that approach few years ago with et= cd, which I think provides capabilities similar to that of Consul:=C2=A0https://github.com/a1exsh/cassandra-etcd-seed-provider/blob/mas= ter/src/main/java/org/zalando/cassandra/locator/EtcdSeedProvider.java

Hi Alex,
=

we were using also a dedicated Consul seed provider but= we weren't confident enough about maintaining our version so we remove= d it in favor of something simpler.
Ultimately, we hope(d) that d= elegating the maintenance of that list to an external process (like Consul = Template), directly updating the configuration file, is (should be?) mostly= similar without having to maintain our own copy, built with the right vers= ion of Cassandra, etc.

Thanks for the info tho= ugh!

=C2=A0Jonathan
=C2=A0
--000000000000cd706c057ef426c4--