Apache Mesos + Docker + Karaf Cellar Cluster
I’m having a Mesos Cluster up and running (1 Master and 2 Slaves) with Marathon.
I use docker as the container in Mesos/Marathon. I have a Karaf docker that will be launched in Marathon as a Cluster. I’m planning to use Cellar of Fabric as Karaf’s Clustering Solution. My problems are
Since I use random port mapping in Marathon, I didn’t have an idea how to get Hazel-cast’s auto discovery to work. with random docker instances on random slaves. Any suggestions or solutions/ approach
- Docker Swarm - Network Overlay not connecting all containers
- Can I run Docker-in-Docker without using the --privileged flag
- Connecting docker locally with vagrant provisioned docker
- execute python script local to docker client - no volumes
- ELK Docker - Kibana saved objects
- Starting a system service in a Docker container
Can this be easily achieved using fuse fabric instead of Cellar – I’m completely blind on this. Please provide some links/insights to follow for Karaf
Thanks in advance
2 Solutions collect form web for “Apache Mesos + Docker + Karaf Cellar Cluster”
To answer bullet #2
fabric8 v2 is architecture on cloud technology such as Kubernetes and Docker. This makes Fuse Fabric fit much better with tomorrows technology stacks instead of being tied to Java and OSGi.
A bit more background about this change is blogged by Rob Davies at
So with a docker based model, and a cloud infrastructure such as Mesos/Kubernetes then let them handle the clustering et all. And keep your apps (as docker images) simpler. You do not need to use Karaf Cellar / Fuse Fabric v1 etc. They do clustering from the inside co-located with your apps. Where as kubernetes does that from the outside, totally separated.
And btw for #1 then kubernetes services rocks. James Strachan wrote a blog entry recently about kubernetes for developers
If using kubernetes services then you can lookup the IP and port number for your hazelcast cluster simply by using the OS environment variables.
Okay maybe this was a bit of ramble. But I suggest to check out kubernetes / fabric8 / docker et all – and avoid Java clustering such as Karaf Cellar or Fuse Fabric v1 if you are building a new platform today.
Many have had success using HAProxy along with Marathon’s service ports for cluster-wide discoverability. See https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html
You could also try mesos-dns for DNS-based service discovery, which works even without Marathon. See http://mesosphere.github.io/mesos-dns/