Hi,
currently using the JMS clustering approach you will need one dedicated master (on top of your JMS infrastructure). A dedicated master means in this case one of the applications needs a different configuration settings (the master settings). This means that you cannot farm out the application to all servers. You need one dedicated machine for the master.
Since the latest beta release of Search there is the possibility to use JGroups for clustering as well. At the moment it also uses a master/slave approach, but in this case it would be conceptually imaginable to have a flying master. As far as I know this is not implemented (yet) tough.
There is also a currently still experimental Infinispan directory available. In this case you don't have a master/slave setup, but rather a shared data/index approach. Have a look at this thread -
viewtopic.php?f=9&t=1002026Last but not least, provided you have some form of shared file system you could also just use a single FSDirectory, meaning all nodes in the cluster use the same Lucene directory. Depending on the type of shared file system you might have problems with locking, but it is the simplest solution and it would allow you to use farm deploys.
--Hardy