After further investigation, initOnMaster *is* executed on each slave in the cluster, slaveIndex  *is* set correctly, and the words array *is* retrieved from the master state. However, I have simplified the previous version of the code. If the words array is shared, then each slave node initializes the Random object using the same seed and generates the word list. This guarantees that each node is using the same list of words.