在从站上添加容器设置后无法启动mesos-slave

时间:2016-05-19 13:56:19

标签: docker mesos mesosphere marathon

我想通过marathon在mesos集群上运行docker container,所以我在mesos-slave containerizers配置中使用以下命令添加了docker。

echo 'docker,mesos' > /etc/mesos-slave/containerizers

改变后的mesos-slave它没有启动。我收到错误

  

Docker版本不足!请升级到> = 1.0.0'在重启时的从属日志中:以下是完整日志

May 19 15:24:09 flo-doc-nfr-b2b-27 mesos-slave[18055]: W0519 15:24:04.174897 18055 logging.cpp:81] RAW: Received signal SIGTERM from process 19232 of user 0; exiting
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: I0519 15:24:10.360828 19275 logging.cpp:172] INFO level logging started!
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: I0519 15:24:10.361471 19275 main.cpp:156] Build: 2015-05-05 06:16:58 by root
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: I0519 15:24:10.361518 19275 main.cpp:158] Version: 0.22.1
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: I0519 15:24:10.361543 19275 main.cpp:161] Git tag: 0.22.1
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: I0519 15:24:10.361565 19275 main.cpp:165] Git SHA: d6309f92a7f9af3ab61a878403e3d9c284ea87e0
May 19 15:24:10 flo-doc-nfr-b2b-27 mesos-slave[19275]: Failed to create a containerizer: Could not create DockerContainerizer: Insufficient version of Docker! Please upgrade to >= 1.0.0

以下是关于mesos-slave的docker版本详细信息:

客户端:

  • 版本:1.11.1
  • API版本:1.23
  • 转到版本:go1.5.4
  • Git commit:5604cbe
  • 建造:2016年4月26日星期二23:20:46
  • OS / Arch:linux / amd64

服务器:

  • 版本:1.11.1
  • API版本:1.23
  • 转到版本:go1.5.4
  • Git commit:5604cbe
  • 建造:2016年4月26日星期二23:20:46
  • OS / Arch:linux / amd64

奴隶上的Mesos版本: 0.22.1

如果我从奴隶中移除集装箱配置,那么它的工作正常。 Mesos,Marathon,Docker作为节点上的服务运行。

我甚至尝试将介质降级到0.21.1& docker to 1.9.0但得到同样的错误。

有人可以帮我解决这个问题吗?

谢谢! 萨米特

1 个答案:

答案 0 :(得分:1)

由于MESOS-2986,我认为您需要使用0.24.1,0.23.1,0.22.2或0.21.2之一。

尝试从源代码构建mesos而不是使用debs。 Here是非常简单的教程,如何做到这一点。

# Install the packages.
sudo apt-get install -qq tar wget openjdk-7-jdk build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev
# Download the source
wget http://www.apache.org/dist/mesos/0.28.1/mesos-0.28.1.tar.gz
tar -zxf mesos-0.28.1.tar.gz
# Build Mesos
cd mesos-0.28.1
mkdir build
cd build
../configure
make -j 8

修改

Marathon需要将libmesos放置在系统中,因此在从源代码构建Mesos之后,请确保使用正确的lib。以下摘录自documentation

  

MESOS_NATIVE_JAVA_LIBRARY: bin/start搜索共同点   Mesos native的安装路径/usr/lib/usr/local/lib   图书馆。如果库位于配置中的其他位置,请设置   环境变量MESOS_NATIVE_JAVA_LIBRARY到其完整路径。

     

例如:

     

$ MESOS_NATIVE_JAVA_LIBRARY=/Users/bob/libmesos.dylib ./bin/start --master local --zk zk://localhost:2181/marathon