Mesos 1.0.0 introduced experimental support for Windows.
- Install the latest version of Visual Studio Community 2015. Make sure to select the Common Tools for Visual C++ and the Windows 10 SDK. Start Visual Studio Community to complete the setup and configuration.
- Install CMake 3.6.3 or later. Do not run CMake before finishing the Visual Studio Community setup.
- Install Gnu Patch 2.5.9-7 or later.
- If building from git, make sure you have Windows-style line endings.
git config core.autocrlf true.
- Make sure there are no spaces in your build directory.
C:/Program Files (x86)/mesosis an invalid build directory.
- Optional: Install
virtualenvThis is only necessary when developing Mesos on Windows (specifically for automated linting of python files).
Following are the instructions for stock Windows 10 and Windows Server 2012 or newer.
# Start a VS2015 x64 Native Tool command prompt. # This can be found by opening VS2015 and looking under the "tools" # menu for "Visual Studio Command Prompt". # Change working directory. $ cd mesos # If you are developing on Windows, we recommend running the bootstrap. # This requires administrator privileges. $ .\bootstrap.bat # Generate the solution and build. $ .\support\windows-build.bat # Set the `PreferredToolArchitecture` environment variable to `x64`. # NOTE: `PreferredToolArchitecture` can be set system-wide via Control Panel. $ SET PreferredToolArchitecture=x64 # After generating the Visual Studio solution you can use the IDE to open # the project and skip this step. $ msbuild Mesos.sln /m # mesos-agent.exe can be found in the <repository>\build\src folder. $ cd src # The Windows agent exposes new isolators that must be used as with # the `--isolation` flag. To get started point the agent to a working # master, using eiher an IP address or zookeeper information. $ mesos-agent.exe --master=<master> --work_dir=<work folder> --launcher_dir=<repository>\build\src
The current implementation is known to have the following limitations:
- At this point, only the agent is capable of running on Windows, the Mesos master must run on a Posix machine.
- Due to the 260 character
MAX_PATHlimitation on Windows, it is required to set the configuration option
--launcher_dirto be a root path, e.g.
C:\. In addition, the
TASK_IDthat is passed to Mesos should be short, up to about 40 characters. NOTE: If you schedule tasks via Marathon, your Marathon task id should be up to four characters long since Marathon generates Mesos
TASK_IDby appending a UUID (36 characters) onto the Marathon task id.
- Currently runs as Administrator (mainly due to symlinks).
- Only the
MesosContainerizeris currently supported, which does not provide resource isolation on Windows. Resource isolation will be provided via the
DockerContainerizer(e.g. Windows Containers) in the future.
- Most of the tests are not ported to Windows.
For more information regarding the status of Windows support in Mesos, please refer to the Jira epic.