Author: dlester
Date: Sat Nov 15 11:34:28 2014
New Revision: 1639856
URL: http://svn.apache.org/r1639856
Log:
Adds atom feed generated by Mesos blog.
Added:
mesos/site/publish/blog/feed.xml
mesos/site/source/blog/feed.xml.erb
Modified:
mesos/site/Gemfile
mesos/site/Gemfile.lock
mesos/site/config.rb
Modified: mesos/site/Gemfile
URL:
http://svn.apache.org/viewvc/mesos/site/Gemfile?rev=1639856&r1=1639855&r2=1639856&view=diff
==============================================================================
--- mesos/site/Gemfile (original)
+++ mesos/site/Gemfile Sat Nov 15 11:34:28 2014
@@ -7,3 +7,4 @@ gem 'middleman-blog', '3.5.1'
gem "rdiscount", '2.1.7'
+gem "htmlentities"
\ No newline at end of file
Modified: mesos/site/Gemfile.lock
URL:
http://svn.apache.org/viewvc/mesos/site/Gemfile.lock?rev=1639856&r1=1639855&r2=1639856&view=diff
==============================================================================
--- mesos/site/Gemfile.lock (original)
+++ mesos/site/Gemfile.lock Sat Nov 15 11:34:28 2014
@@ -26,6 +26,7 @@ GEM
haml (4.0.4)
tilt
hike (1.2.3)
+ htmlentities (4.3.2)
http_parser.rb (0.5.3)
i18n (0.6.5)
kramdown (1.2.0)
@@ -108,6 +109,7 @@ PLATFORMS
ruby
DEPENDENCIES
+ htmlentities
middleman (= 3.2.0)
middleman-blog (= 3.5.1)
middleman-livereload (= 3.1.0)
Modified: mesos/site/config.rb
URL:
http://svn.apache.org/viewvc/mesos/site/config.rb?rev=1639856&r1=1639855&r2=1639856&view=diff
==============================================================================
--- mesos/site/config.rb (original)
+++ mesos/site/config.rb Sat Nov 15 11:34:28 2014
@@ -12,6 +12,7 @@
# limitations under the License.
#
require "middleman-blog"
+require "htmlentities"
set :markdown_engine, :rdiscount
set :markdown, :layout_engine => :erb,
@@ -50,6 +51,8 @@ end
page "/sitemap.xml", :layout => false
+page "/blog/feed.xml", :layout => false
+
# Turn off directory index for API docs because it breaks links
page "/api/*", :directory_index => false
Added: mesos/site/publish/blog/feed.xml
URL:
http://svn.apache.org/viewvc/mesos/site/publish/blog/feed.xml?rev=1639856&view=auto
==============================================================================
--- mesos/site/publish/blog/feed.xml (added)
+++ mesos/site/publish/blog/feed.xml Sat Nov 15 11:34:28 2014
@@ -0,0 +1,828 @@
+
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title>Apache Mesos Blog</title>
+ <id>http://mesos.apache.org/blog</id>
+ <link href="http://mesos.apache.org/blog" />
+ <link href="http://mesos.apache.org/feed.xml" rel="self"/>
+ <updated>2014-09-23T00:00:00Z</updated>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-20-1-released/</id>
+ <link href="/blog/mesos-0-20-1-released/" />
+ <title>
+ Apache Mesos 0.20.1 Released
+ </title>
+ <updated>2014-09-23T00:00:00Z</updated>
+ <author>
+ <name>Adam B</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, 0.20.1 is now available for <a
href="http://mesos.apache.org/downloads">download</a>. One
of the major features of Mesos 0.20.0 was native Docker support, and that
support has been improved in 0.20.1 by the following bug fixes and
improvements:</p>
+
+<ul>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1621">MESOS-1621</a>
- Docker run networking should be configurable and support bridge
network</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1724">MESOS-1724</a>
- Can&rsquo;t include port in DockerInfo&rsquo;s image</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1730">MESOS-1730</a>
- Should be an error if commandinfo shell=true when using docker
containerizer</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1732">MESOS-1732</a>
- Mesos containerizer doesn&rsquo;t reject tasks with container info
set</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1737">MESOS-1737</a>
- Isolation=external result in core dump on 0.20.0</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1755">MESOS-1755</a>
- Add docker support to mesos-execute</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1758">MESOS-1758</a>
- Freezer failure leads to lost task during container destruction.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1762">MESOS-1762</a>
- Avoid docker pull on each container run</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1770">MESOS-1770</a>
- Docker with command shell=true should override entrypoint</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1809">MESOS-1809</a>
- Modify docker pull to use docker inspect after a successful pull</li>
+</ul>
+
+
+<p>Full release notes are available in the release <a
href="https://github.com/apache/mesos/blob/master/CHANGELOG">CHANGELOG</a>.</p>
+
+<p>Upgrading to 0.20.1 can be done seamlessly on a 0.20.0 cluster. If
upgrading from 0.19.x, please refer to the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">upgrades</a>
documentation.</p>
+
+<h2>Contributors</h2>
+
+<p>Thanks to all the contributors for 0.20.1: Timothy Chen, Jie Yu,
Timothy St. Clair, Vinod Kone, Chris Heller, Kamil DomaÅski, and Till
Toenshoff.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-20-0-released/</id>
+ <link href="/blog/mesos-0-20-0-released/" />
+ <title>
+ Mesos 0.20.0 Released
+ </title>
+ <updated>2014-09-03T00:00:00Z</updated>
+ <author>
+ <name>Jie Yu</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, 0.20.0, is now available for <a
href="http://mesos.apache.org/downloads/">download</a>. This
version includes the following features and improvements:</p>
+
+<ul>
+<li>Native Docker support (<a
href="https://issues.apache.org/jira/browse/MESOS-1524">MESOS-1524</a>)</li>
+<li>Container level network monitoring (<a
href="https://issues.apache.org/jira/browse/MESOS-1228">MESOS-1228</a>)</li>
+<li>Framework authorization (<a
href="https://issues.apache.org/jira/browse/MESOS-1342">MESOS-1342</a>)</li>
+<li>Framework rate limiting (<a
href="https://issues.apache.org/jira/browse/MESOS-1306">MESOS-1306</a>)</li>
+<li>Building against installed third-party dependencies (<a
href="https://issues.apache.org/jira/browse/MESOS-1071">MESOS-1071</a>)</li>
+</ul>
+
+
+<p>Full release notes are available in the release <a
href="https://github.com/apache/mesos/blob/master/CHANGELOG">CHANGELOG</a>.</p>
+
+<h3>Native Docker Support</h3>
+
+<p>Mesos 0.20.0 introduces first-class <a
href="https://www.docker.com/">Docker</a> support. Framework
writers can now launch Docker containers for tasks by specifying
<code>ContainerInfo</code> in <code>TaskInfo</code> or
<code>ExecutorInfo</code>. The initial version allows the framework
writers to specify Docker images for containers, and supports Docker primitives
like volumes, entrypoints, etc.</p>
+
+<p>Native Docker support is enabled by a new containerizer called
DockerContainerizer, which can launch a Docker container as either a Task or an
Executor. In 0.20.0, Mesos supports running multiple containerizers
simultaneously and allows containerizers to be chosen dynamically based on
task/executor info (<a
href="https://issues.apache.org/jira/browse/MESOS-1527">MESOS-1527</a>).
Therefore, users can enable native Docker support without changing the
containerizer strategy for their existing tasks.</p>
+
+<p>Details about native Docker support can be found in the <a
href="http://mesos.apache.org/documentation/latest/docker-containerizer/">Docker
containerizer documentation</a>.</p>
+
+<h3>Container Level Network Monitoring</h3>
+
+<p>Prior to Mesos 0.20.0, it was not possible to get the network
statistics for each container, which made triaging or debugging network
problems difficult in cases where multiple active tasks/executors were running
on slave machines. Mesos 0.20.0 solves this problem by adding support for <a
href="http://mesos.apache.org/documentation/latest/network-monitoring/">per-container
network monitoring</a>. If you use the Mesos containerizer with the
port_mapping isolator, network statistics for each active container can be
retrieved through the <code>/monitor/statistics.json</code>
endpoint on the slave.</p>
+
+<p>This network monitoring solution is completely transparent to the
tasks running on the slave. Tasks will not notice any difference to running on
a slave without network monitoring enabled and were sharing the network of the
slave. There is no need for users to change their service discovery
mechanism.</p>
+
+<h3>Framework Authorization</h3>
+
+<p>Authorization support has been implemented via Access Control Lists
(ACLs). Authorization allows:</p>
+
+<ol>
+<li>Frameworks to (re-)register with authorized ârolesâ</li>
+<li>Frameworks to launch tasks/executors as authorized
âusersâ</li>
+<li>Authorized âprincipalsâ to shutdown framework(s) through
â/shutdownâ HTTP endpoint</li>
+</ol>
+
+
+<p>For instance, operators can use authorization to only allow framework
&ldquo;foo&rdquo; (and no other frameworks) to launch executors as
&ldquo;root&rdquo;. For more details please read the <a
href="http://mesos.apache.org/documentation/latest/authorization/">authorization
documentation</a>.</p>
+
+<h3>Framework Rate Limiting</h3>
+
+<p>In a multi-framework environment, <a
href="http://mesos.apache.org/documentation/latest/framework-rate-limiting/">framework
rate limiting</a> aims to protect the throughput of high-SLA (e.g.,
production, service) frameworks by having the master throttle messages from
other (e.g., development, batch) frameworks. Using this feature, an operator
can specify the maximum number of queries per second and outstanding messages
for the low-SLA frameworks on the master.</p>
+
+<h3>Building Against Installed Third-party Dependencies</h3>
+
+<p>Mesos 0.20.0 now supports building using system installed
dependencies. Prior to this release, most of the third-party dependencies of
Mesos were included in the project and statically linked into the resulting
binaries and libraries. See <a
href="https://issues.apache.org/jira/browse/MESOS-1071">MESOS-1071</a>
for more details about these changes.</p>
+
+<h3>Future Work</h3>
+
+<p>Looking forward, here are a few upcoming features that are being
worked on:</p>
+
+<ul>
+<li>Improvement of Docker support in Mesos (<a
href="https://issues.apache.org/jira/browse/MESOS-1524">MESOS-1524</a>)</li>
+<li>On top of network monitoring, evaluating and providing support for
per-container network isolation (<a
href="https://issues.apache.org/jira/browse/MESOS-1407">MESOS-1585</a>)</li>
+<li>Continued work on state reconciliation for frameworks (<a
href="https://issues.apache.org/jira/browse/MESOS-1407">MESOS-1407</a>)</li>
+</ul>
+
+
+<h3>Getting Involved</h3>
+
+<p>We encourage you to try out this release and let us know what you
think. If you run into any issues, please let us know on the <a
href="https://mesos.apache.org/community">user mailing list and
IRC</a>.</p>
+
+<h3>Thanks</h3>
+
+<p>Thanks to the 29 <a
href="https://github.com/apache/mesos/graphs/contributors">contributors</a>
who made 0.20.0 possible:</p>
+
+<p>Adam B, Alexandra Sava, Anton Lindström, Benjamin Hindman, Benjamin
Mahler, Bernardo Gomez Palacio, Bill Farner, Chengwei Yang, Chi Zhang, Connor
Doyle, Craig Hansen-Sturm, Dave Lester, Dominic Hamon, Gaudio, Ian Downes,
Isabel Jimenez, Jiang Yan Xu, Jie Yu, Ken Sipe, Niklas Nielsen, Thomas
Rampelberg, Timothy Chen, Timothy St. Clair, Tobias Weingartner, Tom Arnfeld,
Vinod Kone, Yifan Gu, Zuyu Zhang</p>
+
+ </content>
+ </entry>
+
+ <entry>
+
<id>http://mesos.apache.org/blog/mesoscon-2014-hackathon-details-announced/</id>
+ <link href="/blog/mesoscon-2014-hackathon-details-announced/" />
+ <title>
+ #MesosCon Hackathon Details Announced
+ </title>
+ <updated>2014-07-24T00:00:00Z</updated>
+ <author>
+ <name>Dave Lester</name>
+ </author>
+ <content type="html">
+ <p>After a <a
href="http://mesoscon14.sched.org">full day of workshops and
talks</a> at <a
href="http://events.linuxfoundation.org/events/mesoscon">MesosCon</a>,
we&rsquo;re challenging participants to hack on <a
href="http://mesos.apache.org">Mesos</a> during an <a
href="http://www.atlassian.com">Atlassian</a>-sponsored
hackathon taking place Friday, August 22nd. This event is an opportunity to
contribute to the project, collaborate with other members of the community, and
learn in the process.</p>
+
+<p>We&rsquo;ve identified two categories of hacks that we hope
participants will focus on:</p>
+
+<ul>
+<li><em>Community Need</em>: These are issues logged in the
<a
href="https://issues.apache.org/jira/browse/MESOS/?selectedTab=com.atlassian.jira.jira-projects-plugin:issues-panel">Mesos
issue tracker</a> that have received a large amount of activity
(comments, votes, etc), and address some of the larger problems or pain points
for the community. Suggested projects include new features, bugs, or
documentation.</li>
+<li><em>People&rsquo;s Choice</em>: These contributions
will be voted on by your peers, and our guidance is intentionally open-ended so
teams will run wild with their ideas. We&rsquo;re excited to see what you
come up with.</li>
+</ul>
+
+
+<h2>Forming Groups</h2>
+
+<p>We strongly encourage hackathon participants to use the public <a
href="https://issues.apache.org/jira/browse/MESOS/">JIRA issue
tracker</a> to log and discuss their ideas prior to the hackathon, using
the <a
href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20MESOS%20AND%20labels%20%3D%20%22MesosConHack%22">MesosConHack
label</a>. The <a
href="http://mesos.apache.org/community/">project mailing lists
and IRC</a> are good places to discover and share project ideas in
advance.</p>
+
+<p>Thursday evening of MesosCon, teams will form and ideas may be
pitched. Additionally, project committers will be on-site to act as mentors and
shepherds throughout the hackathon.</p>
+
+<h2>Hackathon Rules</h2>
+
+<ul>
+<li>Actual development on submissions should begin the evening of August
21st and must not begin earlier. However, teams are encouraged to have
community discussions prior to the event.</li>
+<li>In order for an entry to be valid, a pull request or review board
patch must be submitted.</li>
+<li>Submitted applications must run.</li>
+<li>Teams may have a maximum of four contributors.</li>
+<li>A team may only win one category.</li>
+<li>Submissions must be related to Mesos in some way.</li>
+</ul>
+
+
+<h2>Schedule</h2>
+
+<h3>Thursday Evening</h3>
+
+<p>Following sessions on day one of MesosCon, we will hold a hackathon
kickoff that includes an explanation of the rules, and a chance for ideas to be
pitched and teams formed. Hacking may begin at this time, although evening
hacking is optional.</p>
+
+<h3>Friday</h3>
+
+<p>9:00 - Hacking begins at conference center</p>
+
+<p>13:00 - Lunch arrives</p>
+
+<p>17:00 - Coding stops, refreshments are served</p>
+
+<p>17:15 - Re-explain the voting rules</p>
+
+<p>17:20 - Presentations start - Each team gets 5 minutes to pitch what
they built and show it off</p>
+
+<p>18:00 - Voting occurs</p>
+
+<p>18:15 - Winners announced</p>
+
+<h2>Registration</h2>
+
+<p>Interested in participating in the hackathon? Participants must <a
href="https://www.regonline.com/register/login.aspx?eventID=1533330&amp;MethodId=0&amp;EventsessionId=">register
for MesosCon</a>.</p>
+
+<p>For new MesosCon registrants, you will see a checkbox at the time of
registration. If you&rsquo;ve already registered for MesosCon, you will be
contacted to confirm whether you plan to participate in the hackathon.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-19-1-released/</id>
+ <link href="/blog/mesos-0-19-1-released/" />
+ <title>
+ Apache Mesos 0.19.1 Released
+ </title>
+ <updated>2014-07-21T00:00:00Z</updated>
+ <author>
+ <name>Ben Mahler</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, 0.19.1 is now available for <a
href="http://mesos.apache.org/downloads">download</a>. This
release fixes a bug in the Java and Python APIs in which the garbage collection
of a MesosSchedulerDriver object leads to a framework unregistration.</p>
+
+<p>More details can be found in <a
href="https://issues.apache.org/jira/browse/MESOS-1550">MESOS-1550</a>,
the <a
href="http://mail-archives.apache.org/mod_mbox/mesos-user/201406.mbox/%3CCAFeOQnXVBBfgg4WQFatkHix2B1y-1o3EH3-mqtsgbEDeMH4Tbw%40mail.gmail.com%3E">report
thread</a> from Whitney Sorenson, and the <a
href="http://mail-archives.apache.org/mod_mbox/mesos-user/201406.mbox/%3CCAFeOQnVfhNo-mgkFsRn%3DvFsCQG%2Bj47xE3kdbFUDspWeOKjXA%3Dg%40mail.gmail.com%3E">follow
up thread</a> from Benjamin Hindman.</p>
+
+<p>This release has the following bug fixes:</p>
+
+<ul>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1448">MESOS-1448</a>
- Mesos Fetcher doesn&rsquo;t support URLs that have 30X
redirects.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1534">MESOS-1534</a>
- Scheduler process is not explicitly terminated in the destructor of
MesosSchedulerDriver.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1538">MESOS-1538</a>
- A container destruction in the middle of a launch leads to CHECK
failure.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1539">MESOS-1539</a>
- No longer able to spin up Mesos master in local mode.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1550">MESOS-1550</a>
- MesosSchedulerDriver should never, ever, call
&lsquo;stop&rsquo;.</li>
+<li><a
href="https://issues.apache.org/jira/browse/MESOS-1551">MESOS-1551</a>
- Master does not create work directory when missing.</li>
+</ul>
+
+
+<p>Upgrading to 0.19.1 can be done seamlessly on a 0.19.0 cluster. If
upgrading from 0.18.x, please refer to the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">upgrades</a>
documentation.</p>
+
+<h2>Contributors</h2>
+
+<p>Thanks to all the contributors for 0.19.1: Tom Arnfeld, Ian Downes,
Benjamin Hindman, Benjamin Mahler, Vinod Kone, Whitney Sorenson.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-community-survey-2014-results/</id>
+ <link href="/blog/mesos-community-survey-2014-results/" />
+ <title>
+ 2014 Mesos Community Survey Results
+ </title>
+ <updated>2014-06-24T00:00:00Z</updated>
+ <author>
+ <name>Dave Lester</name>
+ </author>
+ <content type="html">
+ <p>Below are results of a community survey I led in May to get the
pulse of the Apache Mesos community and improve our understanding of how others
are using the software. We received a total of 55 responses.</p>
+
+<p>While I think the responses below speak for themselves, I wanted to
highlight a few things:</p>
+
+<ul>
+<li>A majority of responses came from adopters who have been using Mesos
for more than 2 months.</li>
+<li>Mesos had a <a
href="http://www.netpromoter.com/why-net-promoter/know/">Net
Promoter Score</a> of 41.5.</li>
+<li>Documentation was the #1 community request for improving Mesos,
followed by integrated Docker support. Unedited responses have been published
as a <a
href="https://gist.github.com/davelester/b40e3b5d0347540abf36">GitHub
gist</a>.</li>
+<li>36% of adopters are running Mesos in a cluster of 6-20
machines.</li>
+<li>Almost half of Mesos adopters are running in private data centers. A
majority of adopters running in the public cloud use AWS.</li>
+<li>Hadoop, Marathon, and Chronos were the most-popular frameworks that
are running in production.</li>
+</ul>
+
+
+<p>This is the first time we&rsquo;ve run a community survey like
this; feedback is welcome on how we may improve it when we run it
again.</p>
+
+<h3>How long have you been using Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_howlong.png" alt="How
long have you been using Mesos" /></p>
+
+<h3>How many machines are you running in your Mesos cluster?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_howmanymachines.png"
alt="How many machines are you running in your Mesos cluster"
/></p>
+
+<h3>Frameworks: Are you using <a
href="http://aurora.incubator.apache.org">Aurora</a> on
Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_aurora.png"
alt="Are you using Aurora on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/mesosphere/cassandra-mesos">Cassandra</a>
on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_cassandra.png"
alt="Are you using Cassandra on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/airbnb/chronos">Chronos</a> on
Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_chronos.png"
alt="Are you using Chronos on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/mesos/hadoop">Hadoop</a> on
Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_hadoop.png"
alt="Are you using Hadoop on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/jenkinsci/mesos-plugin">Jenkins</a>
on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_jenkins.png"
alt="Are you using Jenkins on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="http://www.grandlogic.com/content/html_docs/products.shtml#jobserverprod">JobServer</a>
on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_jobserver.png"
alt="Are you using JobServer on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/mesosphere/marathon">Marathon</a>
on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_marathon.png"
alt="Are you using Marathon on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="http://spark.apache.org/">Spark</a> on
Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_spark.png"
alt="Are you using Spark on Mesos" /></p>
+
+<h3>Frameworks: Are you using <a
href="https://github.com/mesosphere/storm-mesos">Storm</a>
on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_storm.png"
alt="Are you using Storm on Mesos" /></p>
+
+<h3>Frameworks: Are you using a custom framework on Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_framework_custom.png"
alt="Are you using a custom framework on Mesos" /></p>
+
+<h3>Where do you run Mesos?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_wheredoyourun.png"
alt="Where do you run Mesos" /></p>
+
+<h3>How likely are you to recommend Mesos to your friends and
colleagues?</h3>
+
+<p><img src="/assets/img/blog/communitysurvey_2014_nps.png"
alt="How likely are you to recommend Mesos to your friends and
colleagues?" /></p>
+
+<h3>Are you interested in contributing to Mesos in any of the following
ways?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_contributions.png"
alt="Are you interested in contributing to Mesos in any of the following
way" /></p>
+
+<h3>Is your company listed on our <a
href="http://mesos.apache.org/documentation/latest/powered-by-mesos/">#PoweredByMesos</a>
page? If not, can we list you?</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_poweredby.png"
alt="Is your company listed on our #PoweredByMesos page?"
/></p>
+
+<p>(34 responses for &ldquo;No, but please refrain from adding us at
this time&rdquo;, 8 responses for &ldquo;No, please add us&rdquo;,
and 15 responses for &ldquo;Yes, we&rsquo;re on the
list!&rdquo;)</p>
+
+<h3>Number of daily responses</h3>
+
+<p><img
src="/assets/img/blog/communitysurvey_2014_responses.png"
alt="Number of daily response" /></p>
+
+<h3>What features do you think are missing from Mesos?</h3>
+
+<p>The unedited responses to this question have been published as a
<a
href="https://gist.github.com/davelester/b40e3b5d0347540abf36">GitHub
gist</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-19-0-released/</id>
+ <link href="/blog/mesos-0-19-0-released/" />
+ <title>
+ Apache Mesos 0.19.0 Released
+ </title>
+ <updated>2014-06-12T00:00:00Z</updated>
+ <author>
+ <name>Ben Mahler</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, 0.19.0 is now available for <a
href="http://mesos.apache.org/downloads/">download</a>. This
new version includes the following features and improvements:</p>
+
+<ul>
+<li>The master now persists the list of registered slaves in a durable
replicated manner using the Registrar and the replicated log.</li>
+<li>Alpha support for custom container technologies has been added with
the <a
href="https://github.com/apache/mesos/blob/0.19.0/src/slave/containerizer/external_containerizer.hpp#L74">ExternalContainerizer</a>.</li>
+<li>Metrics reporting has been overhauled and is now exposed on
&lt;ip:port>/metrics/snapshot.</li>
+<li>Slave Authentication: optionally, only authenticated slaves can
register with the master.</li>
+<li>Numerous bug fixes and stability improvements.</li>
+</ul>
+
+
+<p>Full release notes are available on <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&amp;version=12326253">JIRA</a>.</p>
+
+<h3>Registrar</h3>
+
+<p>Mesos 0.19.0 introduces the <a
href="https://cwiki.apache.org/confluence/display/MESOS/Registrar+Design+Document">&ldquo;Registrar&rdquo;</a>:
the master now persists the list of registered slaves in a durable replicated
manner. The previous lack of durable state was an intentional design decision
that simplified failover and allowed masters to be run and migrated with ease.
However, the stateless design had issues:</p>
+
+<ul>
+<li>In the event of a dual failure (slave fails while master is down),
no lost task notifications are sent. This leads to a task running according to
the framework but unknown to Mesos.</li>
+<li>When a new master is elected, we may allow rogue slaves to
re-register with the master. This leads to tasks running on the slave that are
not known to the framework.</li>
+</ul>
+
+
+<p>Persisting the list of registered slaves allows failed over masters
to detect slaves that do not re-register, and notify frameworks accordingly. It
also allows us to prevent rogue slaves from re-registering; terminating the
rogue tasks in the process.</p>
+
+<p>The state is persisted using the <a
href="http://mesos.apache.org/blog/mesos-0-17-0-released-featuring-autorecovery/">replicated
log</a> (available since 0.9.0).</p>
+
+<h3>External Containerization</h3>
+
+<p>As <a
href="http://mesos.apache.org/blog/mesos-0-18-0-released/">alluded
to</a> during the containerization / isolation refactor in 0.18.0, the
ExternalContainerizer has landed in this release. This provides
<strong>alpha</strong> level support for custom
containerization.</p>
+
+<p><img
src="/assets/img/documentation/containerizer_isolator_api.png"
alt="Mesos Containerizer Isolator APIs" /></p>
+
+<p>Developers can implement their own external containerizers to provide
support for custom container technologies. Initial Docker support is now
available through some community driven external containerizers: <a
href="https://github.com/duedil-ltd/mesos-docker-containerizer">Docker
Containerizer for Mesos</a> by Tom Arnfeld and <a
href="https://github.com/mesosphere/deimos">Deimos</a> by
Jason Dusek. Please reach out on the mailing lists with questions!</p>
+
+<h3>Metrics</h3>
+
+<p>Previously, Mesos components had to use custom metrics code and
custom HTTP endpoints for exposing metrics. This made it difficult to expose
additional system metrics and often required having an endpoint for each
libprocess Process (Actor) for which metrics were desired. Having metrics
spread across endpoints was operationally complex.</p>
+
+<p>We needed a consistent, simple, and global way to expose metrics,
which led to the creation of a metrics library within <a
href="https://github.com/apache/mesos/tree/0.19.0/3rdparty/libprocess">libprocess</a>.
All metrics are now exposed via /metrics/snapshot. The /stats.json endpoint
remains for backwards compatibility.</p>
+
+<h3>Upgrading</h3>
+
+<p>For backwards compatibility, the &ldquo;Registrar&rdquo; will
be enabled in a phased manner. By default, the &ldquo;Registrar&rdquo;
is write-only in 0.19.0 and will be read/write in 0.20.0.</p>
+
+<p>If running in high-availability mode with ZooKeeper, operators must
now specify the <code>--work_dir</code> for the master, along with
the <code>--quorum</code> size of the ensemble of masters. This
means adding or removing masters must be done carefully! The best practice is
to only ever add or remove a single master at a time and to allow a small
amount of time for the replicated log to catch up on the new master.
Maintenance documentation will be added to reflect this.</p>
+
+<p>Please refer to the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">upgrades</a>
document, which details how to perform an upgrade from 0.18.x.</p>
+
+<h3>Future Work</h3>
+
+<p>Thanks to the Registrar, reconciliation primitives can now be
provided to ensure that the state of tasks between Mesos and frameworks is kept
consistent. This will remove the need for frameworks to implement out-of-band
task reconciliation to inspect the state of slaves. Reconciliation work is
being tracked at <a
href="https://issues.apache.org/jira/browse/MESOS-1407">MESOS-1407</a>.</p>
+
+<p>The addition of state through the Registrar opens up a rich set of
possible features that were previously not possible due to the lack of
persistent state in the master. These include:</p>
+
+<ul>
+<li>Cluster maintenance primitives (<a
href="https://issues.apache.org/jira/browse/MESOS-1474">MESOS-1474</a>)</li>
+<li>Repair automation (<a
href="https://issues.apache.org/jira/browse/MESOS-695">MESOS-695</a>)</li>
+<li>Global resource reservations</li>
+</ul>
+
+
+<h3>Getting Involved</h3>
+
+<p>We encourage you to try out this release, and let us know what you
think and if you hit any issues on the user mailing list. You can also get in
touch with us via <a
href="http://twitter.com/ApacheMesos">@ApacheMesos</a> or
via <a href="http://mesos.apache.org/community/">mailing lists
and IRC</a>.</p>
+
+<h3>Thanks</h3>
+
+<p>Thanks to the 32 contributors who made 0.19.0 possible:</p>
+
+<p>Ashutosh Jain, Adam B, Alexandra Sava, Anton Lindström, Archana
kumari, Benjamin Hindman, Benjamin Mahler, Bernardo Gomez Palacio, Bernd
Mathiske, Charlie Carson, Chengwei Yang, Chi Zhang, Dave Lester, Dominic Hamon,
Ian Downes, Isabel Jimenez, Jake Farrell, Jameel, Al-Aziz, Jiang Yan Xu, Jie
Yu, Nikita Vetoshkin, Niklas Q. Nielsen, Ritwik Yadav, Sam Taha, Steven Phung,
Till Toenshoff, Timothy St. Clair, Tobi Knaup, Tom Arnfeld, Tom Galloway, Vinod
Kone, Vinson Lee</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesoscon-2014-program-announced/</id>
+ <link href="/blog/mesoscon-2014-program-announced/" />
+ <title>
+ #MesosCon Program Announced, Now Including Hackathon
+ </title>
+ <updated>2014-06-11T00:00:00Z</updated>
+ <author>
+ <name>Dave Lester</name>
+ </author>
+ <content type="html">
+ <p>Today weâre excited to announce the <a
href="http://mesoscon14.sched.org/">program</a> for <a
href="http://events.linuxfoundation.org/events/mesoscon">#MesosCon</a>
2014, the first ever conference dedicated to the Mesos ecosystem. It will take
place in Chicago August 21-22, 2014, and be co-located with <a
href="http://events.linuxfoundation.org/events/linuxcon-north-america">LinuxCon</a>
2014.</p>
+
+<p>MesosCon welcomes attendees who are advanced users, along with those
that are new to the project. There will be time to socialize, share and learn
from adopters to core committers. The first day will begin with an
introductory <em>Mesos 101</em> workshop and keynote presentations
from Mesos PMC lead Benjamin Hindman (Twitter) and John Wilkes (Google). Day
one will include single track talks featuring:</p>
+
+<ul>
+<li>Mesos <a
href="http://mesos.apache.org/documentation/latest/mesos-frameworks/">frameworks</a>:
including <a href="http://aurora.incubator.apache.org">Apache
Aurora</a>, <a
href="https://github.com/mesosphere/marathon">Marathon</a>,
<a href="https://github.com/apache/spark">Spark</a>, and
a stream processing framework developed by Netflix.</li>
+<li>An operations perspective on Mesos: including talks on the
challenges of running an elastic cluster, and using <a
href="http://www.docker.com">Docker</a> with
Mesos.</li>
+<li>Presentations from companies who use Mesos in production: including
eBay, HubSpot, and Airbnb. These presenters will also participate in a panel
discussion.</li>
+</ul>
+
+
+<p>The final day will include a Mesos hackathon, generously sponsored by
Atlassian. In advance of the hackathon, the community will seed ideas for
specific features and projects to work on the <a
href="http://www.mail-archive.com/[email protected]/">community
mailing list</a>.</p>
+
+<p><a
href="https://www.regonline.com/Register/Checkin.aspx?EventID=1533330">Registration
is open</a> and filling up quickly so register today. MesosCon is
sponsored by Atlassian, eBay, Mesosphere, and Twitter. Interested companies can
contact us regarding <a
href="http://events.linuxfoundation.org/events/mesoscon/sponsor/become-a-sponsor">becoming
a sponsor</a>.</p>
+
+<p>For the latest updates on #MesosCon, we invite you to follow <a
href="http://twitter.com/mesoscon">@MesosCon</a> on
Twitter.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-18-1-and-0-18-2-released/</id>
+ <link href="/blog/mesos-0-18-1-and-0-18-2-released/" />
+ <title>
+ Mesos 0.18.1 and 0.18.2 Released
+ </title>
+ <updated>2014-05-29T00:00:00Z</updated>
+ <author>
+ <name>Niklas Quarfot Nielsen</name>
+ </author>
+ <content type="html">
+ <p>We recently tagged two new bug fixes including our latest
release: version <a
href="http://mesos.apache.org/downloads/">0.18.2</a>. A bug
was introduced in 0.18.1, prompting the release of 0.18.2. If you&rsquo;re
using 0.18.1, it is highly recommended that you upgrade.</p>
+
+<p>The latest version of Mesos is available on our <a
href="http://mesos.apache.org/downloads/">downloads</a>
page.</p>
+
+<h3>Changes since 0.18.0</h3>
+
+<p>With the release of 0.18.1, Maven is now used to compile and package
Mesos' Java files. In addition, the Mesos Java artifacts shade the
protocol buffer dependency, allowing frameworks to independently declare their
protobuf dependency version. Furthermore, a new extract flag has been added to
the URI protocol buffer which makes it possible to control whether the fetcher
should extract a given artifact. Various bugs in the Mesos master, the
containerizer and the JNI code have been fixed as well. (see <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&amp;version=12326752">0.18.1
release notes</a>)</p>
+
+<p>0.18.2 fixed a bug which caused the mesos-fetcher to not apply the
executer bit. For additional details, please see: <a
href="https://issues.apache.org/jira/browse/MESOS-1313">MESOS-1313</a>.</p>
+
+<h3>Upgrading</h3>
+
+<p>If upgrading from 0.18.0 or 0.18.1, an upgrade can be applied
seamlessly to running clusters. However, Maven is now a build dependency and
must be installed in order to build Mesos with Java support.</p>
+
+<p>If upgrading from earlier versions than 0.18.0, please refer to the
<a
href="http://mesos.apache.org/documentation/latest/upgrades/">Upgrades</a>
document.</p>
+
+<h3>Getting Involved</h3>
+
+<p>We encourage you to try out this release, and let us know what you
think on the <a href="[email protected]">user mailing
list</a>. You can also get in touch with us via <a
href="https://twitter.com/intent/user?screen_name=ApacheMesos">@ApacheMesos</a>
or via <a href="https://mesos.apache.org/community">mailing
lists and IRC</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-18-0-released/</id>
+ <link href="/blog/mesos-0-18-0-released/" />
+ <title>
+ Mesos 0.18.0 Released
+ </title>
+ <updated>2014-04-10T00:00:00Z</updated>
+ <author>
+ <name>Ian Downes</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, <a
href="http://mesos.apache.org/downloads/">0.18.0</a> is now
available for <a
href="http://mesos.apache.org/downloads">download</a>. A
major part of the 0.18.0 release is a refactor of the projectâs isolation
strategy, making it easier to develop and use different isolation technologies
with Mesos including alternative implementations. The refactor does not
introduce any new isolation features; instead, weâve established a set of
APIs that others can use to extend Mesos.</p>
+
+<h2>Isolation -> Containerization</h2>
+
+<p>The first change is in terminology. The Mesos Slave now uses a
Containerizer to provide an environment for each executor and its tasks to run
in. Containerization includes resource isolation but is a more general concept
that can encompass such things as packaging.</p>
+
+<h2>Containerizer API</h2>
+
+<p>The Containerizer API specifies the interface between the slave and a
Containerizer. An internal containerization implementation, called
MesosContainerizer, includes all isolation features present in earlier releases
of Mesos: basic isolation on Posix systems and CPU and memory isolation using
Cgroups on Linux systems.</p>
+
+<p>One of the goals of the refactor was to enable alternative
containerizer implementations. In particular, we encourage the community to add
containerizer implementations which <em>delegate</em>
containerization to other, existing technologies, e.g., LXC, Docker, VMware,
Virtualbox, KVM and others.</p>
+
+<p>The folks at <a
href="http://mesosphere.io">Mesosphere</a> are working on
one approach for a general ExternalContainerizer which provides a simple shim
interface between the Mesos slave and an external program that performs
isolation. When complete, the ExternalContainerizer could connect to any
external containerizer such as, for example, <a
href="https://github.com/mesosphere/deimos">Deimos</a>,
another Mesosphere project, to use Docker for containerization.</p>
+
+<h2>Isolator API</h2>
+
+<p>A second goal of the refactor was to make it easier to both develop
and use different isolation components of the MesosContainerizer. To do this,
we separated the coordination logic from the isolation logic. Users of Mesos
now have more granular control over which isolation components a slave
uses.</p>
+
+<p>MesosContainerizer accepts a list of Isolators, each implementing the
Isolator API, to isolate resources. For example, the CgroupsMemIsolator uses
the memory cgroup subsystem on Linux to limit the amount of memory available to
an executor. We have plans to release new Isolators including a
NetworkIsolator, a FilesystemIsolator, and a DiskIsolator and also to support
isolation features provided by Linux namespaces such as pid and user
namespaces.</p>
+
+<p><img
src="/assets/img/documentation/containerizer_isolator_api.png"
alt="Mesos Containerizer Isolator APIs" /></p>
+
+<h2>Cgroup layout change</h2>
+
+<p>While we were doing the refactor we took the opportunity to update
the cgroup layout to current best practices, making it easier to run Mesos on
recent Linux distributions and alongside other cgroup users such as LXC,
Docker, and systemd. The expected layout has changed from a single mount point
for all controllers to a separate mount point for each controller. This change
requires reconfiguring the host system for every slave and we highly recommend
a system reboot.</p>
+
+<p>Further details on the upgrade procedure are in the 0.18.0 <a
href="http://mesos.apache.org/documentation/latest/upgrades">upgrade
document</a> and, as always, please ask questions on the <a
href="http://mesos.apache.org/community">mailing list</a>,
file tickets via <a
href="https://issues.apache.org/jira/browse/MESOS">JIRA</a>,
or discuss on <a
href="http://mesos.apache.org/community">IRC</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-community-update-1/</id>
+ <link href="/blog/mesos-community-update-1/" />
+ <title>
+ Mesos Community Update #1
+ </title>
+ <updated>2014-03-28T00:00:00Z</updated>
+ <author>
+ <name>Matt Trifiro</name>
+ </author>
+ <content type="html">
+ <p><em>This is a cross post from the <a
href="http://mesosphere.io/community/2014/03/20/mesos-community-update-1/">Mesosphere
blog</a>.</em></p>
+
+<p>Our community is in the midst of a revolution. Mesos is no longer an
edge technology, only for the Twitters and Airbnbs of the world; itâs going
mainstream and we are at its center. There is more activity on the Apache
mailing lists, more commits in the code, more frameworks being developed, more
developers building tools around Mesosâand, perhaps most excitingly, there
are more companies deploying Mesos into production.</p>
+
+<p>All of this activity makes it harder to keep up!</p>
+
+<p>The Mesosphere team wants to help you keep up with all of the
community activity by curating a concise semi-regular update, of which this is
the first. We are looking to share the most interesting and important
activities in the Mesos community.</p>
+
+<h3>Here are some recent highlights:</h3>
+
+<ul>
+<li><p>Venture capital icon <a
href="http://en.wikipedia.org/wiki/Vinod_Khosla">Vinod
Khosla</a> gave a call-out to Mesos in his 2014 Open Networking Summit
keynote, where he waxed about the need for a data center OS. The Mesos portion
begins at 24:07 in the <a
href="http://youtu.be/q61VkqZRjck?t=24m7s%20">ONS2014 Keynote
YouTube video</a>.</p></li>
+<li><p>Lab49 software engineer <a
href="https://twitter.com/anvarkarimson">Anvar Karimson</a>
re-implemented Stripeâs legendary Capture the Flag (CTF) system on Mesos.
Read his blow-by-blow description here: <a
href="http://karimson.com/posts/ctf-mesos/">Running Stripe CTF 2.0
on Mesos</a>.</p></li>
+<li><p>Community member <a
href="https://twitter.com/barton_tomas">Tomas Barton</a>
gave an introductory talk on Mesos at the <a
href="http://www.installfest.cz/if14/">InstallFest</a> in
Prague. In his 59-slide talk, he covered everything from workload balancing to
Mesos fault tolerance. View his presentation on SlideShare: <a
href="http://www.slideshare.net/tomasbart/introduction-to-apache-mesos">Introduction
to Apache Mesos</a>.</p></li>
+<li><p>On February 27, <a
href="http://mesos.apache.org/blog/mesos-0-17-0-released-featuring-autorecovery/">Mesos
0.17.0 was released</a> and you can <a
href="http://mesosphere.io/downloads/#apache-mesos-0.17.0">download
it here</a>. The 0.17.0 release features auto-recovery of the replicated
log, which enhances Mesosâs high-availability and fault-tolerance. Read more
here: <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&amp;version=12325669">Mesos
0.17.0 release notes</a></p></li>
+<li><p>On the path toward fully implementing the <a
href="https://cwiki.apache.org/confluence/display/MESOS/Registrar+Design+Document">Mesos
Registrar Design</a>, we saw progress toward creating <a
href="https://issues.apache.org/jira/browse/MESOS-764">persistence
of state information for slaves</a>. Placing a small amount of state
information in highly-available storage will make recovery of slaves faster and
more graceful (this has been <a
href="http://https//issues.apache.org/jira/browse/MESOS-295">lacking
for a while</a>).</p></li>
+<li><p>Mesosphere has packaged a pre-release version of Mesos
0.18.0 (release candidate 4) that you can now <a
href="http://mesosphere.io/downloads/#apache-mesos-0.18.0-rc4">download</a>.
The primary features of the <a
href="https://github.com/apache/mesos/blob/0.18.0-rc4/CHANGELOG">upcoming
0.18.0 release</a> are changes that make it easier to insert pluggable
container technologies, like Docker. 0.18.0 foreshadows some pretty interesting
Docker integrations with Mesos.</p></li>
+</ul>
+
+
+<h3>Upcoming events:</h3>
+
+<ul>
+<li><p>BBQ at Mesosphere HQ, 6-8 pm, March 28th. Come join us for
a low-key BBQ. 145A Hampshire St, San Francisco (near Potrero @ 15th). Swing by
and meet <a href="http://mesosphere.io/team/">our
team</a>.</p></li>
+<li><p><a
href="http://apacheconnorthamerica2014.sched.org/">ApacheCon</a>,
April 7-9 in Denver. Come see two Mesos presentations: <a
href="http://apacheconnorthamerica2014.sched.org/event/d83ffc7d7c56620474eac1a2d8f09967">Mesos:
Elastically Scalable Operations, Simplified</a> and <a
href="http://apacheconnorthamerica2014.sched.org/event/803cb2a6f321ee02957b1c4eb4ebc01c">Building
and Running Distributed Systems using Apache
Mesos</a>.</p></li>
+</ul>
+
+
+<p>We hope to publish these updates at least a few times each month, and
weâre interested in your suggestions. Please let us know what you think about
the length, content and style, and send us your tips on what to publish each
week. Do you have something to share? Write to us at <a
href="mailto:[email protected]">[email protected]</a>.</p>
+
+<p><em>This post was co-authored by Abhishek Parolkar. Follow him
on Twitter at <a
href="https://twitter.com/parolkar">@parolkar</a>.</em></p>
+
+ </content>
+ </entry>
+
+ <entry>
+
<id>http://mesos.apache.org/blog/mesos-0-17-0-released-featuring-autorecovery/</id>
+ <link href="/blog/mesos-0-17-0-released-featuring-autorecovery/" />
+ <title>
+ Mesos 0.17.0 Released, Featuring Autorecovery for the Replicated Log
+ </title>
+ <updated>2014-03-13T00:00:00Z</updated>
+ <author>
+ <name>Jie Yu</name>
+ </author>
+ <content type="html">
+ <p>The latest Mesos release, <a
href="http://mesos.apache.org/downloads/">0.17.0</a> was
made available for <a
href="http://mesos.apache.org/downloads">download</a> last
week, introducing a new autorecovery feature for the replicated log that
handles additional disk failure and operator error scenarios.</p>
+
+<h2>What is the replicated log?</h2>
+
+<p>The replicated log is a distributed <em>append-only</em>
log that stores arbitrary data as entries. Replication comes into play as at
least a quorum of log replicas are stored on different machines, protecting the
data from individual disk or network failures. The replicated log uses the
<a
href="http://en.wikipedia.org/wiki/Paxos_(computer_science%29">Paxos
algorithm</a>. We will describe additional implementation details in
both an upcoming blog post and project documentation.</p>
+
+<p>Mesos has had replicated log since version 0.9.0 and <a
href="http://aurora.incubator.apache.org/">Apache
Aurora</a>, a framework used in production at Twitter, uses replicated
log for its persistent storage. Additionally, the Mesos master will start
using the replicated log to persist some cluster state with the introduction of
the <a
href="https://issues.apache.org/jira/browse/MESOS-764">registrar</a>.</p>
+
+<h2>New feature in Mesos 0.17.0:
<em>autorecovery</em></h2>
+
+<p>Before Mesos version 0.17.0, the replicated log could become
inconsistent if a replicaâs disk was replaced or the data was accidentally
deleted by an operator. That meant that an operator couldnât safely, or
easily, replace a replicaâs disk while the other replicas kept running.
Instead, an operator had to stop all replicas, replace the disk, copy a
pre-existing log, then restart all the replicas.</p>
+
+<p>As of this release, a replica with a new disk can automatically
recover without operator involvement. As long as a quorum of replicas are
available, applications using the replicated log wonât notice a
thing!</p>
+
+<h2>Future work</h2>
+
+<p>The new autorecovery feature enables replacing a single replica at a
time, but it does not allow an operator to easily add or remove replicas, known
as <em>reconfiguration</em>. You can follow <a
href="https://issues.apache.org/jira/browse/MESOS-683">MESOS-683</a>
for the latest on this future work.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-16-0-released/</id>
+ <link href="/blog/mesos-0-16-0-released/" />
+ <title>
+ Mesos 0.16.0 Released
+ </title>
+ <updated>2014-02-11T00:00:00Z</updated>
+ <author>
+ <name>Yan Xu</name>
+ </author>
+ <content type="html">
+ <p>We recently released Mesos v0.16.0 on our <a
href="http://mesos.apache.org/downloads/">downloads</a>
page. It includes major <a
href="https://issues.apache.org/jira/browse/MESOS-496">refactoring
work</a> of the leading master election and detection process. This
improves the reliability and flexibility of running multiple masters in your
cluster, which provides Mesos with high availability.</p>
+
+<p>In high availability mode, if a leading master machine fails, Mesos
holds elections to determine a new leader. Slave machines and schedulers detect
the new leading master and connect to it, without disrupting services running
on Mesos. Leader election implementation details, including how it works with
<a href="http://zookeeper.apache.org">Zookeeper</a>, are
detailed in the <a
href="http://mesos.apache.org/documentation/latest/high-availability/">high
availablity documentation</a>.</p>
+
+<h2>What&rsquo;s Changed</h2>
+
+<p>Aside from the refactoring, v0.16.0 includes fixes for bugs which
caused incorrect termination of Mesos masters and slaves:</p>
+
+<ul>
+<li>Fixed ZooKeeper related bugs which terminated Mesos processes
instead of automatically retrying them: <a
href="https://issues.apache.org/jira/browse/MESOS-463">MESOS-463</a>,
<a
href="https://issues.apache.org/jira/browse/MESOS-465">MESOS-465</a>,
<a
href="https://issues.apache.org/jira/browse/MESOS-814">MESOS-814</a>.</li>
+<li>Non-leading Master now stays up after ZooKeeper session expiration
or after it is partitioned from ZooKeeper.</li>
+<li>Slave no longer attempts to recover checkpointed data after a
reboot: <a
href="https://issues.apache.org/jira/browse/MESOS-844">MESOS-844</a>.</li>
+</ul>
+
+
+<p>Click to read the full <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&amp;version=12325295">release
notes</a>.</p>
+
+<h2>Upgrading</h2>
+
+<p>To upgrade a live cluster, please refer to the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">Upgrades
document</a>.</p>
+
+<h2>Getting Involved</h2>
+
+<p>We encourage you to try out this release, and let us know what you
think on the <a href="mailto:[email protected]">user
mailing list</a>. You can also get in touch with us via <a
href="https://twitter.com/intent/user?screen_name=ApacheMesos">@ApacheMesos</a>
or via <a href="https://mesos.apache.org/community">mailing
lists and IRC</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+
<id>http://mesos.apache.org/blog/framework-authentication-in-apache-mesos-0-15-0/</id>
+ <link href="/blog/framework-authentication-in-apache-mesos-0-15-0/" />
+ <title>
+ Mesos 0.15 and Authentication Support
+ </title>
+ <updated>2014-01-09T00:00:00Z</updated>
+ <author>
+ <name>Vinod Kone</name>
+ </author>
+ <content type="html">
+ <p>With the latest Mesos release, <a
href="http://mesos.apache.org/downloads/">0.15.0</a>, we are
pleased to report that weâve added Authentication support for frameworks (see
<a
href="https://issues.apache.org/jira/browse/MESOS-418">MESOS-418</a>)
connecting to Mesos. In a nutshell, this feature allows only authenticated
frameworks to register with Mesos and launch tasks. Authentication is important
as it prevents rogue frameworks from causing problems that may impact the usage
of resources within a Mesos cluster.</p>
+
+<h2>How it works</h2>
+
+<ul>
+<li><p><strong>SASL</strong></p>
+
+<p> Mesos uses the <a
href="http://asg.web.cmu.edu/sasl/">Cyrus SASL library</a>
to provide authentication. SASL is a very flexible authentication framework
that allows two endpoints to authenticate with each other and also has support
for various authentication mechanisms (ANONYMOUS, PLAIN, CRAM-MD5, GSSAPI
etc).</p>
+
+<p> In this release, Mesos uses SASL with the CRAM-MD5 authentication
mechanism. The process for enabling authentication begins with the creation of
an authentication credential that is unique to the framework. This credential
constitutes a <strong>principal</strong> and
<strong>secret</strong> pair, where
<strong>principal</strong> refers to the identity of the framework.
Note that the <strong>principal</strong> is different from the
framework <strong>user</strong> (the Unix user which executors run
as) or the resource <strong>role</strong> (role that has reserved
certain resources on a slave). These credentials should be shipped to the Mesos
master machines, as well as given access to the framework, meaning that both
the framework and the Mesos masters should be started with these
credentials.</p>
+
+<p> Once authentication is enabled, Mesos masters only allow
authenticated frameworks to register. Authentication for frameworks is
performed under the hood by the new scheduler driver.</p></li>
+</ul>
+
+
+<p>For specific instructions on how to do this please read the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">upgrade</a>
instructions.</p>
+
+<h2>Looking ahead</h2>
+
+<ul>
+<li><p><strong>Adding authentication support for
slaves</strong></p>
+
+<p> Similar to adding authentication support to frameworks, it would be
great to add authentication support to the slaves. Currently any node in the
network can run a Mesos slave process and register with the Mesos master.
Requiring slaves to authenticate with the master before registration would
prevent rogue slaves from causing problems (e.g., DDoSing the master, getting
access to users tasks etc) in the cluster.</p></li>
+<li><p><strong>Integrating with
Kerberos</strong></p>
+
+<p> Currently the authentication support via shared secrets between
frameworks and masters is basic to benefit usability. To improve upon this
basic approach, a more powerful solution would be to integrate with an industry
standard authentication service like <a
href="http://en.wikipedia.org/wiki/Kerberos_(protocol">Kerberos</a>).
A nice thing about SASL and one of the reasons we picked it is because of its
support for integration with GSSAPI/Kerberos. We plan to leverage this support
to integrate Kerberos with Mesos.</p></li>
+<li><p><strong>Data encryption</strong></p>
+
+<p> Authentication is only part of the puzzle when it comes to
deploying and running applications securely in the cloud. Another crucial
component is data encryption. Currently all the messages that flow through the
Mesos cluster are un-encrypted making it possible for intruders to intercept
and potentially control your task. We plan to add encryption support by adding
SSL support to <a
href="https://github.com/3rdparty/libprocess">libprocess</a>,
the low-level communication library that Mesos uses which is responsible for
all network communication between Mesos components.</p></li>
+<li><p><strong>Authorization</strong></p>
+
+<p> We are also investigating authorizing principals to allow them
access to only a specific set of operations like launching tasks or using
resources. In fact, you could imagine a world where an authenticated
<strong>principal</strong> will be authorized to on behalf of a
subset of <strong>user</strong>s and
<strong>role</strong>s for launching tasks and accepting resources
respectively. This authorization information could be stored in a directory
service like LDAP.</p></li>
+</ul>
+
+
+<h3>Thanks</h3>
+
+<p>While a lot of people contributed to this feature, we would like to
give special thanks to <a
href="https://twitter.com/ilimugur">Ilim Igur</a>, our <a
href="http://www.google-melange.com/gsoc/homepage/google/gsoc2013">Google
Summer of Code</a> intern who started this project and contributed to
the intial design and implementation.</p>
+
+<p>If you are as excited as us about this feature please go ahead and
play with <a href="http://mesos.apache.org">Mesos
0.15.0</a> and let us know what you think. You can get in touch with us
via <a href="http://mesos.apache.org/community/">our mailing
lists or IRC</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+
<id>http://mesos.apache.org/blog/niklas-nielsen-becomes-mesos-committer/</id>
+ <link href="/blog/niklas-nielsen-becomes-mesos-committer/" />
+ <title>
+ Niklas Nielsen Becomes Newest Mesos Committer and PMC Member
+ </title>
+ <updated>2013-12-16T00:00:00Z</updated>
+ <author>
+ <name>Apache Mesos</name>
+ </author>
+ <content type="html">
+ <p>The Apache Mesos PMC has voted to make <a
href="http://mesosphere.io/2013/10/24/niklas-nielsen-joins-mesosphere/">Niklas
Nielsen</a> the project&rsquo;s newest committer and PMC member.
Niklas is an engineer at Engineer at <a
href="http://mesosphere.io">Mesosphere</a>, and has a
background in virtual machines, compilers and supercomputer tooling
(distributed debuggers, profilers and so on).</p>
+
+<p>Nielsen has particular interests in performance, scalability and
tooling to give insights in otherwise fairly complex setups. Welcome,
Niklas!</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/mesos-0-14-2-released/</id>
+ <link href="/blog/mesos-0-14-2-released/" />
+ <title>
+ Apache Mesos 0.14.2 Released
+ </title>
+ <updated>2013-11-12T00:00:00Z</updated>
+ <author>
+ <name>Ben Mahler</name>
+ </author>
+ <content type="html">
+ <p>We recently released Mesos 0.14.2, a bugfix release with only a
minor change related to cgroups isolation in 0.14.1. If you&rsquo;re using
0.14.1 with cgroups isolation, it is recommended to upgrade to avoid
unnecessary out-of-memory (OOM) killing of jobs. The latest version of Mesos is
available on our <a
href="http://mesos.apache.org/downloads/">downloads</a>
page.</p>
+
+<h3>Upgrading</h3>
+
+<p>If upgrading from 0.14.x, this upgrade can be applied seamlessly to
running clusters. However, if you&rsquo;re upgrading from 0.13.x on a
running cluster, please refer to the <a
href="http://mesos.apache.org/documentation/latest/upgrades/">Upgrades</a>
document, which details how a seamless upgrade from 0.13.x to 0.14.x can be
performed.</p>
+
+<h3>Changes since 0.14.1</h3>
+
+<p>With the release of 0.14.1, when using cgroups isolation, the OOM
semantics were altered to enable the kernel OOM killer and to use the memory
soft limit combined with memory threshold notifications to induce OOMs in
user-space. This was done to attempt to capture memory statistics at the time
of OOM for diagnostic purposes. However, this proved to trigger unintended OOMs
as the memory purging that occurs when the hard limit is reached was no longer
occurring.</p>
+
+<p>0.14.2 no longer uses threshold notifications; the memory hard limit
is now used instead to preserve the previous OOM semantics.</p>
+
+<p>For additional details, please see:
+<a
href="https://issues.apache.org/jira/browse/MESOS-755">MESOS-755</a>,
+<a
href="https://issues.apache.org/jira/browse/MESOS-762">MESOS-762</a>.</p>
+
+ </content>
+ </entry>
+
+ <entry>
+ <id>http://mesos.apache.org/blog/slave-recovery-in-apache-mesos/</id>
+ <link href="/blog/slave-recovery-in-apache-mesos/" />
+ <title>
+ Slave Recovery in Apache Mesos
+ </title>
+ <updated>2013-10-23T00:00:00Z</updated>
+ <author>
+ <name>Vinod Kone</name>
+ </author>
+ <content type="html">
+ <p>High availability is one of the key features of Mesos. For
example, a typical Mesos cluster in production involves 3-5 masters with one
acting as <em>leader</em> and the rest on standby. When a leading
master fails due to a crash or goes offline for an upgrade, a standby master
automatically becomes the leader without causing any disruption to running
services. Leader election is currently performed by using <a
href="http://zookeeper.apache.org/">ZooKeeper</a>.</p>
+
+<p>With the latest Mesos release, <a
href="http://mesos.apache.org/downloads/">0.14.1</a>, we are
bringing high availability to the slaves by introducing a new feature called
<em>Slave Recovery</em>. In a nutshell, slave recovery
enables:</p>
+
+<ol>
+<li><p>Executors/tasks to keep running when the slave process is
down.</p></li>
+<li><p>A restarted slave process to reconnect with running
executors/tasks on the slave.</p></li>
+</ol>
+
+
+<h2>Why it matters</h2>
+
+<p>A recoverable slave is critical for running services in production on
Mesos for several reasons:</p>
+
+<ul>
+<li><p><strong>Stateful services</strong></p>
+
+<p> In a typical production environment there are stateful services
(e.g., caches) running in the cluster. It is not uncommon for these services to
have a high startup time (e.g., cache warm up time of a few hours). Even in the
analytics world, there are cases where a single task is responsible for doing
work that takes hours to complete. In such cases a restart of the slave (e.g,
crash or upgrade) will have a huge impact on the service. While sharding the
service wider mitigates this impact it is not always possible to do so (e.g,
legacy services, data locality, application semantics). Such stateful
applications would benefit immensely from running under a more resilient
slave.</p></li>
+<li><p><strong>Faster cluster
upgrades</strong></p>
+
+<p> It is important for clusters to frequently upgrade their
infrastructure to stay up-to-date with the latest features and bug fixes. A
typical Mesos slave upgrade involves stopping the slave, upgrading the slave
libraries and starting the slave. In production environments there is always
tension between upgrading the infrastructure frequently and the need to not
impact long running services as much as possible. With respect to Mesos
upgrades, if upgrading the slave binary has no impact on the underlying
services, then it is a win for both the cluster operators and the service
owners.</p></li>
+<li><p><strong>Resilience against slave
failures</strong></p>
+
+<p> While upgrading the slaves is most often the reason for restarting
slaves, there might be other causes for a slave to fail. A slave crash could
happen due to a bug in the slave code or due to external factors like a bug in
the kernel or ZooKeeper client library. Typically such crashes are temporary
and a restart of the slave is enough to correct the situation. If such slave
restarts do not affect applications running on the slave it is a huge win for
the applications.</p></li>
+</ul>
+
+
+<h2>How it works</h2>
+
+<ul>
+<li><p><strong>Checkpointing</strong></p>
+
+<p> Slave recovery works by having the slave checkpoint enough
information (e.g., task information, executor information, status updates)
about the running tasks and executors to local disk. Once the slave and the
framework(s) enable checkpointing, any subsequent slave restarts would recover
the checkpointed information and reconnect with the executors. When a
checkpointing slave process goes down, both the leading master and the
executors running on the slave host wait for the slave to come back up and
reconnect. A nice thing about slave recovery is that frameworks and their
executors/tasks are oblivious to a slave restart.</p></li>
+<li><p><strong>Executor Driver
Caching</strong></p>
+
+<p> As part of this feature, the executor driver has also been improved
to make it more resilient in the face of a slave failure. As an example, status
updates sent by the executor while the slave is down are cached by the driver
and sent to the slave when it reconnects with the restarted slave. Since this
is all handled by the executor driver, framework/executor writers do not have
to worry about it! The executors can keep sending status updates for their
tasks while remaining oblivious to the slave being up or
down.</p></li>
+<li><p><strong>Reliable status
updates</strong></p>
+
+<p> Another benefit of slave checkpointing the status updates is that
now updates are more reliably delivered to frameworks in the face of failures.
Before slave recovery if the slave fails at the same time that a master is
failing over, no TASK_LOST updates for tasks running on the slave were sent to
the framework. This is partly because the Mesos master is stateless. A failed
over master reconstructs the cluster state from the information given to it by
re-registering slaves and frameworks. With slave recovery, status updates and
tasks are no longer lost when slaves fail. Rather, the slave recovers tasks,
status updates and reconnects with the running executors. Even if an executor
does terminate when the slave is down, a recovered slave knows about it from
its checkpointed state and reliably sends TASK_LOST updates to the
framework.</p></li>
+</ul>
+
+
+<p>For more information about how to enable slave recovery in your
cluster, please refer to the <a
href="https://github.com/apache/mesos/blob/master/docs/Slave-Recovery.md">documentation</a>.</p>
+
+<h2>Looking ahead</h2>
+
+<ul>
+<li><p><strong>Easy Executor/Task
Upgrades</strong></p>
+
+<p> In a similar vein to how slave recovery makes upgrading a Mesos
cluster easy, we would like to enable frameworks to upgrade their
executors/tasks as well. Currently the only way to upgrade an executor/task is
to kill the old executor/task and launch the new upgraded executor/task. For
the same reasons as we have discussed earlier this is not ideal for stateful
services. We are currently investigating proper primitives to provide to
frameworks to do such upgrades, so that not every framework have to
(re-)implement that logic.</p></li>
+<li><p><strong>State Reconciliation</strong></p>
+
+<p> While slave recovery greatly improves the reliability of delivering
status updates there are still some rare cases where updates could be lost. For
example if a slave crashes when a master is failing over and never comes back
then the new leading master doesn&rsquo;t know about the lost slave and
executors/tasks running on it. In addition to status updates, any driver
methods (e.g., launchTasks, killTask) invoked when the master is failing over
are silently dropped. Currently, frameworks are responsible for reconciling
their own task state using the <a
href="https://github.com/apache/mesos/blob/master/include/mesos/scheduler.hpp#L290">reconciliation
API</a>. We are currently investigating ways to provide even better
guarantees around reconciliation.</p></li>
+<li><p><strong>Self Updates of Mesos</strong></p>
+
+<p> Currently, updating Mesos involves a cluster operator to manually
upgrade the master and slave binaries and roll them in a specific manner (e.g.,
masters before slaves). But what if Mesos can update itself! It is not hard to
imagine a future where Mesos masters can orchestrate the upgrade of slaves and
maybe also upgrade one another! This would also help making rollbacks easy
incase an upgrade doesnât work because it would be much easier Mesos to check
if various components are working as expected.</p></li>
+</ul>
+
+
+<p>So what are you waiting for? Go ahead and give <a
href="http://mesos.apache.org">Mesos</a> a whirl and <a
href="mailto:[email protected]">let us know</a> what you
think.</p>
+
+ </content>
+ </entry>
+
+</feed>
\ No newline at end of file
Added: mesos/site/source/blog/feed.xml.erb
URL:
http://svn.apache.org/viewvc/mesos/site/source/blog/feed.xml.erb?rev=1639856&view=auto
==============================================================================
--- mesos/site/source/blog/feed.xml.erb (added)
+++ mesos/site/source/blog/feed.xml.erb Sat Nov 15 11:34:28 2014
@@ -0,0 +1,25 @@
+<% coder = HTMLEntities.new %>
+
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title>Apache Mesos Blog</title>
+ <id>http://mesos.apache.org/blog</id>
+ <link href="http://mesos.apache.org/blog" />
+ <link href="http://mesos.apache.org/feed.xml" rel="self"/>
+ <updated><%= blog.articles.first.date.to_time.iso8601 %></updated>
+ <% blog.articles.each do |article| %>
+ <entry>
+ <id>http://mesos.apache.org<%= article.url %></id>
+ <link href="<%= article.url %>" />
+ <title>
+ <%= article.title %>
+ </title>
+ <updated><%= article.date.to_time.iso8601 %></updated>
+ <author>
+ <name><%= article.data.post_author.display_name %></name>
+ </author>
+ <content type="html">
+ <%= coder.encode(article.body) %>
+ </content>
+ </entry>
+ <% end %>
+</feed>
\ No newline at end of file