After reading a bit about Apache Mesos I wanted to play a bit with it. If you don’t know what Mesos is, it’s a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks.
During reading up on Apache Mesos I ran into the Marathon framework, developed by the folks atMesosphere. Marathon is a nice tool to manage tasks on Apache Mesos. The Github repo says:
Marathon is an Apache Mesos framework for long-running applications. Given that you have Mesos running as the kernel for your datacenter, Marathon is the init or upstart daemon.
Installation of Apache Mesos
The folks at Mesosphere did a great job writing up different installation guides. As a Mac user, I did follow this installation. The guide helps on installing the required components of the setup:
- Apache Zookeeper
- Apache Mesos
- Mesosphere’s Marathon
Running WildFly and the AeroGear UnifiedPush Server on Apache Mesos
Once the above setup is done and your Apache Mesos system is running, it’s pretty simple to launch a WildFly server and deploy the UnifiedPush Server to it.
Download the following bundles and place them somewhere into your hosted infrastructure:
Now you need to save this JSON:
to a file and submit it to the Marathon server, using curl:
curl -i -H 'Content-Type: application/json' -d @unifiedpush-server.json localhost:8080/v2/apps
After Apache Mesos is done with downloading the artifacts from the uris section, it performs the steps chained in the cmd section. This is basically a set of shell commands that copy the UnfiedPush Server and its database file to a WildFly, which uses a PORT provided by the custer manager, instead of the default 8080 http port.
You are done – that’s all you need. On the Marathon UI you now see the URL and the PORT of the WildFly, containing the UnifiedPush Server:
Have fun with WildFly and the UnifiedPushServer on Apache Mesos!
