1. Yes, discovered nodes are provided by the DiscoveryNode class

2. Can you please be more specific - what discovery class use what
constructors? Maybe the answer is in 4.

3. ClusterState keeps the current state of the cluster regarding nodes,
indices, mappings, and most important the elected leading node that has the
privilege to write the cluster state. The leading node in Elasticsearch is
called "master".

4. Elasticsearch uses a customized version of the Guice dependency
injection framework. You find an introduction at
https://code.google.com/p/google-guice/wiki/Motivation

5. Yes, it is mandatory. Otherwise, nodes would not be able to receive
cluster state updates.

Are you sure you need another database? The ClusterState is already a mini
database, the content is written in SMILE encoded JSON to disk.

Note, that if you poll information from a remote database, you have to
implement failover and recovery if contact to the database is lost. Each
node carries a node identifier, so perhaps all you want to do is saving the
node identifier in the database (for whatever reason).

Jörg



On Tue, May 13, 2014 at 3:19 PM, StarDrek59 <[email protected]> wrote:

> I just start using Elasticsearch and analyze its source code.
>
> I need to modify its discovery system by registering the nodes on a kind
> of database. So I suppose that it's easier to develop a plugin instead of
> modifying the source itself.
> But after reading some discovery plugins like the basic one Zen disocvery,
> zookeeper discovery or cloud-aws plugin, I still don't understand some
> things.
>
>
>    1. How to provide the discovered nodes to the elasticsearch core
>    programm? I think it uses the "DiscoveryNodes" class.
>    2. I saw that the different discovery classes use different elements
>    for their constructors but where are they defined?
>    3. I don't understand what the "ClusterState" is after reading the
>    code and why it is useful.
>    4. I didn't understand what the "AbstractLifecycleComponent" class
>    works. It seems to be like a thread or runnable class but it isn't and just
>    provides "doStart". What is it?
>    5. Is the publish action from master mandatory? Because, if I use a
>    database, I won't use it.
>
>
> I didn't find enough documentation about the source code so a little help
> would be great.
>
> To implement this discovery plugin, I thought about a thread, which is
> started be the discovery class, retrieving information from the database
> periodically. But I don't know where I have to register the new nodes
> discovered by this thread on the database (in the DiscoveryNodes class?).
>
> Thanks for reading.
>
> --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/41ec456c-744f-4454-8d47-89e89c7b5a93%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/41ec456c-744f-4454-8d47-89e89c7b5a93%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFaoQndZZm8FkVWdCFDXdg%3Dpvwpi6JBooJMVGy3J-Cv%2BQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to