Server architecture


I have been working with EMERSE since late last year. I got the software up and running on CentOS7 with the following architecture:

Web Server running Apache2 pointing at an App server running Tomcat, Solr, Oracle, and ActiveMQ.

Now, I am attempting to move Tomcat onto the Web server with Apache, and I am running into issues.

One thing, upon Tomcat startup, I see the following:

ERROR: [2020-04-06T17:20:21,486] Failed to find index data directory: /var/solr/data/documents/data

The lucene.indexPath is set in in Tomcat/conf on the Web server. The /var/solr/data directory is on the App server, so I am wondering if Tomcat needs to be running on the same server as Solr (and Oracle and ActiveMQ for that matter)? It doesn’t seem like it would be a requirement, but, like I say, I am running into some issues and thought it best to ask.

Thank you for your help.


Good thing you asked! Unfortunately, Tomcat does need to run on the App server since it actually reads Solr’s index files in addition to talking to Solr via the web. Specifically, it uses Solr’s web API for all-patient search, and reads Solr’s file directly for all other search. It’s a bit funky right now, but we’re moving to use Solr’s web interface for all search in a future release. At that time, you’ll be able to move Tomcat to the web server.

Now, if you really want Tomcat running on the web server, you could mount a network filesystem on the web server to the app server, but that would probably have negative performance implications.


Thank you so much for your prompt reply. Great support for EMERSE.

And, we’ll be on the lookout for future releases.

Again, many thanks.