If you want the cluster to be able to continue operating fully when one full server is lost you will need a third server, as you will need 3 master eligible nodes on different hosts.
I think you should at least configure allocation awareness [1], in order to prevent both primary and replica shards to be allocated to the same physical server.
Whether you should have a single node per physical machine depends on how much jvm heap you configure per node. I would say if you need more than 26GB then you should have more than a single node [2], but this depends. Ideally you shouldn't need that much heap, as since ES 5 many data structures are not kept in the jvm heap, but in the OS' filesystem cache.
It would also be better, if you add a third physical server to your cluster, so you can set the minimum_master_nodes setting to avoid split brains [3].
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.