EricssonResearch / scott-eu

SCOTT – Secure Connected Trustable Things

Home Page:https://scottproject.eu/uc04-logistics-management-using-collaborative-robots-and-devops-methodologies/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Configure Hazelcast within a Docker Swarm env

berezovskyi opened this issue · comments

  1. Docker Swarm (on macOS, at least) does not support multicast, used by Hazelcast for discovery
  2. Hazelcast does not include a discovery mechanism through the Docker Swarm manager

I am trying to get the https://github.com/bitsofinfo/hazelcast-docker-swarm-discovery-spi up and running, but no luck so far.

I am using a member-member setup instead of a client-member, but that is not important in this case.

https://www.weave.works/docs/net/latest/install/plugin/plugin-v2/#configuring may help, but that would be some hacking – @likelion have you ever used Weave?

WARNING: Name of the hazelcast schema location incorrect using default

@berezovskyi Nope, I haven't used Weave. What are you trying to accomplish with Hazelcast? Is there a better (more swarm-friendly) way?

@likelion right now I wanted to change how the tasks arrive from the WHC distributing them to the right instances of the Plan Executor (Intepreter) over MQTT to pushing the new Plans over HTTP and the re-distributing them among executors via a queue. So, I wanted to set up a Hazelcast cluster between all instances of the Plan Executors. Right now if I scale the service to 4 instances, I get 4 clusters on each machine :)

But I think the hazelcast-docker-swarm-discovery-spi plugin will work – it's just I can't get it configured correctly.

Okay, I think I managed to get it to work, but it uses a socat hack proxying the UNIX socket from the host that gives us access to the Swarm manager into the overlay network over a TCP socket. Not sure how are we going to replicate the setup in our staging env.