I want to give access to multiple participants to process some data (training purpose).
For this what is the best solution?
I was wondering if having multiple nodes, and each node assigned to each participant is the right way?
There is an option called “–default-nodes” to assign number of nodes in the ./webodm.sh command.
So my question is if I create multiple processing nodes in the same machine, and multiple participants access them at the same time, will it work?
I tested for 2-5 logins at a time (different participant with unique processing nodes) and it seems to be working. But I could not find this detail in the documentation and worried, if it is a good approach?
I have visited Delft a few times over the years, though I haven’t yet had the pleasure of visiting IHE Delft.
You bring up an interesting scenario, but offhand I wouldn’t bring up more than a couple of nodes on a single machine, unless that is an unusually large machine. But even then: it would be better to change the concurrency settings for that node rather than having lots of nodes on a single host.
What I think you want instead is to start WebODM on a modest, but not overly large machine. And then run ClusterODM. And then you have two options: you can spin up individual NodeODM instances that you connect in with ClusterODM, and let ClusterODM be your proxy and load balancer, or better yet, let ClusterODM automatically spin up resources on AWS that are needed at the time of the processing, and automatically destroy those resources in order to control your overall costs.
Before venturing ClusterODM, I was looking at the Concurrency setting with nodeODM, and I am stuck at connecting the separate processing node in webODM.
So I launched the webODM with --default-nodes 0, and launched the docker container for nodeODM separately using the following command.
docker run -d -p 3000:3000 opendronemap/nodeodm --max_concurrency 2 --max_images 1000000
Interestingly the processing node is available when I access it separately using the url “http://ip:3000”.
I could process some data too.
But when I try to add this processing node in webODM, I get the offline error “ip:3000 seems to be offline.”
It could a lot of different things, but the place to start is to make sure you have the correct external IP (not the docker IP). So if your host IP is 192.168.0.5, then your address for the node will be that, with port 3000. It should look something like this:
Then I am trying to add this processing node in webODM. So I launched webODM using the below command (Note that WebODM is in the same server as processing node with same external IP)
But then I am getting the below shown error that the processing node is offline, which surprisingly can be accessed directly using the url - http://myip:3000
It looks like the error is related to having processing node and webODM in the same server.
I could successfully add another processing node in a different server with different external IP in webODM.