Should marvel be installed on master-only and client nodes?

We are converting our cluster from data+master nodes to separate master, data, client nodes. I have left the ansible playbooks to install all the plugins on all the nodes. But does this make sense? I started by creating the master-only nodes first, but I get all kinds of errors from marvel because its indices do not exist. (Expected, since the master can't have data.)

So maybe I should be asking for general guidance on how to standup this kind of cluster.

  1. What order should the nodes be created?
  2. What plugins should be installed on which node kinds?

Any of the Elastic plugins should be installed on all nodes.
Start with the masters, then data, then client.

Ok, but this order will result in a spew of errors when installing marvel (or any other plugin that requires an index) on the masters. Maybe this is unavoidable with this configuration: You can't get an index without a master node, and you can't persist and index without a data node.

In that case, use an external cluster for marvel.

It's something that will disappear though once the data nodes join.