Separate data and metadata

Hello.
In Hadoop echo system and some other solution: data and metadata are stored separately. For Hadoop, there are master nodes to store metadata.

Question: does Elasticsearch have similar architecture? I mean is there metadata and data separation or ES hold data and metadata as part of the same JSON document?

Thanks.

In Elasticsearch the master-eligible nodes are responsible for the cluster metadata, whereas the data nodes are responsible for the data. A single node can do both roles, or you can separate them. See these docs for more information.

Ok, Thank @DavidTurner for the quick answer.

Is it a best practice to separate the master node from data nodes?
In case of a master crashed elastic will elect a new master, right? what will be in this case with metadata? Should master machine configuration be more memory / CPU / disk intensive comparing to the data node?

Thanks

Yes.

Yes. All nodes in the cluster hold the cluster state.

No, you might even be able to go with less.