Em um cluster Elasticsearch, todos os nós devem ser idênticos, ou seja, ter o mesmo:
- Sistema operacional
- Quantidade de RAM
- Velocidade da CPU e número de núcleos
- etc.
ou é permitido que os nós sejam diferentes? (Além do fato óbvio de que um cluster homogêneo seria muito mais fácil de configurar, gerenciar e monitorar do que um heterogêneo.)
Não, eles não precisam ser idênticos. Dependendo do caso de uso do cluster e das funções atribuídas a cada nó, são esperadas diferenças de hardware.
Depende. Eles não precisam ser idênticos em recursos de hardware. Mas eles devem ser idênticos no sistema operacional (pelo menos distribuição Linux ou versão Windows) e devem ser idênticos na versão ES.
O ES não suporta a execução de várias versões do ES em um cluster por muito tempo porque os índices criados ou migrados na versão superior não podem ser migrados de volta para a versão mais antiga (devido à mecânica de dados interna e assim por diante), então você terá problemas quando o nó com a versão mais recente falhará.
Os nós do ElasticSearch não precisam ser os mesmos, além de executar uma versão ES compatível. Como as consultas geralmente abrangem vários nós ES, você ficará em dívida com o nó mais lento e as diferenças dificultarão o ajuste.