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 <an...@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 <
> rammohanga...@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.scher...@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.wag...@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.scher...@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 <
> > > > >> rammohanga...@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
> > > <an...@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
> > > > >>> <nkal...@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 <
> > > > >>>>> rammohanga...@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
> > > > >>>>>>
> > > >
> > >
> >
>

Reply via email to