zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rammohan ganapavarapu <rammohanga...@gmail.com>
Subject Re: RR DNS name instead of list of server
Date Tue, 12 Feb 2019 21:04:37 GMT
ok, got it thank you!

On Tue, Feb 12, 2019 at 8:49 AM Andor Molnar <andor@cloudera.com.invalid>
wrote:

> Not sure what do you mean by 'static'?
> ZK instance cannot change myid, it's tight to the database.
>
> Andor
>
>
> On Tue, Feb 12, 2019 at 5:18 PM rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
> > Andor,
> >
> > Thanks you, do we have to have a static myid? any alternatives to it?
> >
> > Ram
> >
> > On Tue, Feb 12, 2019 at 3:44 AM Andor Molnar <andor@cloudera.com.invalid
> >
> > wrote:
> >
> > > Hi Ram / Alan,
> > >
> > > I quite like the idea of implementing some kind of autoconfiguration
> for
> > > ZooKeeper, because currently it's entirely based on static config files
> > > which is not 100% cloud-friendly. Starting the project with an initial
> > > support for EC2 instances based on Alan's approach would be awesome.
> > > There's no concept of "seed nodes" in ZK, like Cassandra, e.g. neither
> > > clients nor servers are able to learn cluster topology from each other
> > > (that could be another improvement). In order to start a participant we
> > > have to provide "myid" (from instance tag), server IP addresses
> > > (autoscaling group), election and quorum port numbers and participant
> > type.
> > > Basically replacing the "server.X" section of the config.
> > >
> > > RR DNS might not be a good option, because as Alan mentioned the order
> of
> > > returning IPs is not guaranteed, so myid config would be cumbersome.
> > >
> > > Need to think about it more, but I believe it's definitely worth to
> > raise a
> > > Jira.
> > >
> > > Cool stuff.
> > >
> > > Regards,
> > > Andor
> > >
> > >
> > >
> > >
> > >
> > > On Mon, Feb 11, 2019 at 5:48 PM rammohan ganapavarapu <
> > > rammohanganap@gmail.com> wrote:
> > >
> > > > Jürgen,
> > > >
> > > > I have zk clusters in dynamic environment like Autoscalling groups
> and
> > as
> > > > you know in ASG it is quite common for a instance to get terminate
> and
> > > new
> > > > one comes up right, so in that case if i rely on static config it
> will
> > be
> > > > little bit hard to manage the cluster, i was thinking if we have RR
> DNS
> > > > name atleast i can update the DNS entry when new nodes comes up or
> old
> > > one
> > > > terminate. I have not played with dynamic config option yet but if
> that
> > > > solves the problem we see in dynamic environments i am good. And i am
> > not
> > > > comparing with consul but just pointing out the existing example.
> > > >
> > > >
> > > >
> > > > Alan,
> > > >
> > > > Yes i am looking for the similar solution.
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > > On Mon, Feb 11, 2019 at 6:52 AM Alan Scherger <
> alan.scherger@gmail.com
> > >
> > > > wrote:
> > > >
> > > > > Hey Jürgen,
> > > > >
> > > > > My intent was to simply suggest a more programmatic means for
> dynamic
> > > > > configuration. In particular, the detecting of seed nodes and their
> > > > > appropriate id numbers. One might imagine provisioning 3 nodes with
> > > tags
> > > > > like:
> > > > >
> > > > > zk_cluster=thebestcluster
> > > > > zk_myid={1,2,3}
> > > > >
> > > > > and then in the zk configuration we might have:
> > > > >
> > > > > discovery=ec2Tags
> > > > > discovery.ec2Tags.tagCluster=zk_cluster
> > > > > discovery.ec2Tags.tagMyid=zk_myid
> > > > >
> > > > > This would allow a little code to parse the tags out of ec2 and
> build
> > > the
> > > > > seed node configurations.
> > > > >
> > > > > Similarly we could build and maintain a custom auth provider that
> > could
> > > > use
> > > > > the AWS Certificate Manager Private CA APIs or Hashicorp Vault PKI
> > APIs
> > > > to
> > > > > automatically create and fetch the appropriate certificates and
> > > > > configurations.
> > > > >
> > > > > To your point, the security of introducing autoconfiguration of
> > > settings
> > > > > like these might not be appropriate for all folks or installations,
> > but
> > > > > environments where things like instance level IAM exist help
> mitigate
> > > > some
> > > > > risk assuming the proper access controls have been put in place.
> > > > <Redacted
> > > > > rant :) >
> > > > >
> > > > > I believe it's the lack of autoconfiguration in Zookeeper that has
> > led
> > > to
> > > > > the creation of tools like Exhibitor or other tools that have never
> > > been
> > > > > open sourced for one reason or another. The introduction of Dynamic
> > > > > Reconfiguration is quite great, but the 'Re' part might imply we
> > still
> > > > have
> > > > > some initial work left to be done.
> > > > >
> > > > > I'm also not sure how a RR DNS record mechanism would satisfy the
> id
> > > > > assignment requirement since typically the value of such a record
> is
> > > that
> > > > > the results never return in a guaranteed order. Historically, I've
> > seen
> > > > > tools, Netflix's Eureka, over come such a challenge by use of TXT
> > > records
> > > > > instead. One might argue an SRV record with appropriate priority
> > values
> > > > > could also ensure the ordering. However, personally none of this
is
> > > > > particularly my cup of tea, but I do enjoy coming across and
> > existence
> > > of
> > > > > such systems.
> > > > >
> > > > > Hopefully this helps? I'm certainly not trying to advocate for busy
> > > work,
> > > > > extensive feature design, or russle any jimmies.
> > > > >
> > > > > Alan Scherger
> > > > >
> > > > >
> > > > >
> > > > > On Mon, Feb 11, 2019, 12:43 AM Jürgen Wagner (DVT)
> > > > > <juergen.wagner@devoteam.com.invalid wrote:
> > > > >
> > > > > > ...and come to think of it, there is another question. Cloud
> > instance
> > > > > > tags are simply labels. There is no real semantics associated
or
> > > > > > mandated by tags.
> > > > > >
> > > > > > In particular, there is no guarantee that a Zk instance is
> running
> > > on,
> > > > > > e.g., an EC2 instance labelled as "Zookeeper". Tags don't make
> > > > services.
> > > > > >
> > > > > > If you want to use auto-scaling to create more Zk nodes and
> > > reconfigure
> > > > > > an existing cluster, the cluster will take care of discovering
> its
> > > > > > members, so only clients would be affected by the changes. They,
> > > > however
> > > > > > could start with a well-known set of Zk nodes (e.g., the initial
> > > > three),
> > > > > > inquire about the actual configuration, and subscribe to
> > > configuration
> > > > > > changes. There is no need for a tag- or DNS-based grouping this
> > way.
> > > > > >
> > > > > > If you wanted to say, "hey, all of you Zk instances in my VPC,
> > form a
> > > > > > cluster right now", you could do this indeed with tagging to
seed
> > the
> > > > > > server list initially. However, keep in mind that Zk is often
a
> > > > > > security-relevant component and you don't really want ANY new
Zk
> > > server
> > > > > > out there to be able to join your precious cluster - only the
> ones
> > > you
> > > > > > know about already.
> > > > > >
> > > > > > The fact that Consul may support something like it, doesn't
mean
> it
> > > > also
> > > > > > makes sense for Zookeeper. Consul and Zookeeper protocols and
> > > > > > architectures are quite different.
> > > > > >
> > > > > > I still don't understand what the precise requirement is that
> lead
> > to
> > > > > > this question.
> > > > > >
> > > > > > I hope you'll enlighten me :-)
> > > > > >
> > > > > > Cheers,
> > > > > >
> > > > > > --Jürgen
> > > > > >
> > > > > >
> > > > > > On 11.02.2019 01:20, rammohan ganapavarapu wrote:
> > > > > >
> > > > > > > Should I open a feature request? For both cloud auto discovery
> > and
> > > > use
> > > > > > DNS
> > > > > > > end point to form a quorum.
> > > > > > >
> > > > > > > On Sun, Feb 10, 2019, 3:56 PM Alan Scherger <
> > > alan.scherger@gmail.com
> > > > >
> > > > > > wrote:
> > > > > > >
> > > > > > >> We might look at something like this:
> > > > > > https://github.com/hekate-io/hekate
> > > > > > >> for inspiration (or adoption). In the Golang community
> Hashicorp
> > > has
> > > > > > built
> > > > > > >> something similar: https://github.com/hashicorp/go-discover
> --
> > > this
> > > > > > >> problem
> > > > > > >> set itself probably warrants a multilingual Apache
project to
> > help
> > > > > drive
> > > > > > >> some standards and interoperability.
> > > > > > >>
> > > > > > >> Alan
> > > > > > >>
> > > > > > >> On Sun, Feb 10, 2019, 5:42 PM rammohan ganapavarapu
<
> > > > > > >> rammohanganap@gmail.com
> > > > > > >> wrote:
> > > > > > >>
> > > > > > >>> Clod providers have api to query instance IP based
in tags,
> > > > actually
> > > > > > >> consul
> > > > > > >>> is doing that to form a cluster.
> > > > > > >>>
> > > > > > >>> On Sun, Feb 10, 2019, 11:40 AM Andor Molnar
> > > > > <andor@cloudera.com.invalid
> > > > > > >
> > > > > > >>> wrote:
> > > > > > >>>
> > > > > > >>>> Hi Ram!
> > > > > > >>>>
> > > > > > >>>> What exactly do you mean by "auto-discovery
on cloud
> instance
> > > > tags"?
> > > > > > >>>> Is there a standard way of doing that?
> > > > > > >>>>
> > > > > > >>>> Regards,
> > > > > > >>>> Andor
> > > > > > >>>>
> > > > > > >>>>
> > > > > > >>>>
> > > > > > >>>> On Sat, Feb 9, 2019 at 4:07 PM Norbert Kalmar
> > > > > > >>> <nkalmar@cloudera.com.invalid
> > > > > > >>>> wrote:
> > > > > > >>>>
> > > > > > >>>>> Hi Ram,
> > > > > > >>>>>
> > > > > > >>>>> Unfortunately ZK does not support RR DNS
name.
> > > > > > >>>>> As for plans on discovery based on cloud
tags, I am not
> aware
> > > of
> > > > > any
> > > > > > >>>> plans.
> > > > > > >>>>> You can create a jira for it if you'd like,
but I can't
> tell
> > > you
> > > > > when
> > > > > > >>>> that
> > > > > > >>>>> would make it into a release.
> > > > > > >>>>>
> > > > > > >>>>> Regards,
> > > > > > >>>>> Norbert
> > > > > > >>>>>
> > > > > > >>>>> On Fri, Feb 8, 2019 at 11:53 PM rammohan
ganapavarapu <
> > > > > > >>>>> rammohanganap@gmail.com> wrote:
> > > > > > >>>>>
> > > > > > >>>>>> Hi,
> > > > > > >>>>>>
> > > > > > >>>>>> Does zookeper support RR DNS name in
the config instead of
> > > > giving
> > > > > > >>> each
> > > > > > >>>>>> server name/ip like what consul does
to join the cluster?
> > > > > > >>>>>>
> > > > > > >>>>>>
> > > > > > >>>>>> server.1=server1
> > > > > > >>>>>> server.2=server2
> > > > > > >>>>>> server.3=server3
> > > > > > >>>>>>
> > > > > > >>>>>> vs
> > > > > > >>>>>> server=example.com
> > > > > > >>>>>> where example.com is RR of server1,
server2 and server3
> > > > > > >>>>>>
> > > > > > >>>>>> And does any one know if zk team has
any plans to add
> cloud
> > > > > > >>>> autodiscovery
> > > > > > >>>>>> based on cloud instance tags?
> > > > > > >>>>>>
> > > > > > >>>>>> Thanks,
> > > > > > >>>>>> Ram
> > > > > > >>>>>>
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message