Marshall Schor wrote:
Jörn Kottmann (JIRA) wrote:
[ https://issues.apache.org/jira/browse/UIMA-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12740135#action_12740135 ]
Jörn Kottmann commented on UIMA-1479:
-------------------------------------

I would love to learn what add-on packaging actually means ?

UIMA AS runs usually on a server and maybe it makes sense to optimize its 
packaging for this purpose.

The add-on idea is shorthand for saying that uima-as binary distribution
would not include the base uima jars - those would need to be downloaded
separately.  Maybe this is not such a good idea, if those jars are only
a few megabytes...  We currently do not distribute the uima-base source
in the uima-as source distribution (with a few exceptions).
In my case I just grab the distribution file and unarchive it, install an AE 
and deploy the installed AE.
On some setups its distributed with rsync between a few servers, which right 
now takes quite a while
because there are many things in the distribution which are not needed on a 
server e.g. eclipse plugins,
examples, tools, html and pdf documentation, etc.
There are also many scripts which makes using it a bit confusing, because most 
of them are not needed
e.g. scripts to start ui tools.

We could have the UIMA AS eclipse plugins, documentation, samples in the main 
distribution and maybe have a small UIMA AS runtime distribution as a separate 
download which people deploy on their servers.


I think there are definitely several use-cases.   Would the above use
case be served if we had one downloadable binary package with everything
in it, but which had a layout where there was one part set up for
deployment on the servers?
Yes I think so, then this one part could be copied to a server
and started there. What are the other use cases you are thinking of ?

Eddie posted a while ago these two:

"We have a couple different UIMA AS clusters in operation.
One wraps a UIMA AS service as a servlet and uses traditional
application server infrastructures to distribute the servlet's WAR
file, deploy the servlet, etc. The servlet is basically the
UIMA_Service class appropriately modified to extend HttpServlet.

Another approach uses an NFS file system to share
class and jar files, prepares a process definition in the form of a
shell script running UIMA_Service, and launches the script via ssh."


The second one looks similar to my with NFS for syncing
instead of rsync. And for the first one you would copy over
the jars into the war file manually or use some kind of dependency
management (e.g. maven or ivy).

The guys over at Hadoop and HBase have a similar problem. A common
way  put to deploy these is toa copy of distribution on every machine and
keep these in sync with rsync (sure NFS would also work). Then they have
special scripts which for example can start/stop the whole cluster at once.
This is accomplished by having a file which contains the hostnames/ips of
all nodes which belong to the cluster and ssh. After things are started they
are managed by the masters.

In the end I am still a bit unsure whats the best way for me to setup our cluster and I could not really find something in the documentation to help me with this. Maybe
we can add a small section and explain the options there.

Another way could be to just have a start/stop script for UIMA AS and start it
as a unix/windows service and use a management application for everything,
e.g. deploying an AE, scaling it to the required number of nodes, rolling restarts
for AE or resource updates, etc.

Jörn

Reply via email to