The general advice is prefer medium-to-large boxes [1] to avoid having to make these types of decisions to get the most of the hardware. There are lots of factors that go into optimal sizing, and if possible try a few configuration under production load and monitor to see which provides the best performance and usage of hardware.
In your case, my gut says option 1 will provide will provide slightly better performance especially if you can separate disks and pin CPU's to the VM's. You may also want to consider 3 nodes with that much memory. You may also want to consider using cgroups or docker instead of VM's to help limit the overhead of the separation.
Also when running multiple instances per host, and you are using replicas (the default) you will likely need to use allocation awareness [2] to ensure that primaries and replica's don't end up on the same physical host.
Also be sure to checkout [3] for index heavy optimizations.
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.