Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Apache Mesos Cookbook
  • Table Of Contents Toc
  • Feedback & Rating feedback
Apache Mesos Cookbook

Apache Mesos Cookbook

By : Marco Massenzio, Blomquist, Tomasz Janiszewski
1 (1)
close
close
Apache Mesos Cookbook

Apache Mesos Cookbook

1 (1)
By: Marco Massenzio, Blomquist, Tomasz Janiszewski

Overview of this book

Apache Mesos is open source cluster sharing and management software. Deploying and managing scalable applications in large-scale clustered environments can be difficult, but Apache Mesos makes it easier with efficient resource isolation and sharing across application frameworks. The goal of this book is to guide you through the practical implementation of the Mesos core along with a number of Mesos supported frameworks. You will begin by installing Mesos and then learn how to configure clusters and maintain them. You will also see how to deploy a cluster in a production environment with high availability using Zookeeper. Next, you will get to grips with using Mesos, Marathon, and Docker to build and deploy a PaaS. You will see how to schedule jobs with Chronos. We’ll demonstrate how to integrate Mesos with big data frameworks such as Spark, Hadoop, and Storm. Practical solutions backed with clear examples will also show you how to deploy elastic big data jobs. You will find out how to deploy a scalable continuous integration and delivery system on Mesos with Jenkins. Finally, you will configure and deploy a highly scalable distributed search engine with ElasticSearch. Throughout the course of this book, you will get to know tips and tricks along with best practices to follow when working with Mesos.
Table of Contents (9 chapters)
close
close

Handling events


In this recipe, we will learn how Mesos notifies frameworks about updates.

How to do it...

To handle events, we need to parse data that we obtain from Mesos. To do that, add the following code at the end of the loop in the subscribe() function:

var event Event
sonpb.UnmarshalString(data, &event)
log.Printf("Got: [%s]", event.String())

After parsing, we need to handle events that can vary in type. To do this, we will use the switch control statement on the event type:

switch *event.Type {
case Event_SUBSCRIBED:
        log.Print("Subscribed")
        frameworkInfo.Id = event.Subscribed.FrameworkId
        mesosStreamID = res.Header.Get("Mesos-Stream-Id")
case Event_HEARTBEAT:
        log.Print("PING")
}

Remember to declare the global mesosStreamID variable:

var mesosStreamID string

How it works...

Events come with persistent HTTP connection one-by-one. Protobuf binding comes with the method to parse the data into Golang structs. Then in our event loop, we can perform specific actions...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon