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

我想在mesos集群上通过马拉松来运行docker集装箱,所以我用下面的命令添加了docker在mesos-slave container集装箱configuration中。

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
  • Go版本:go1.5.4
  • Git commit:5604cbe
  • build于:2016年4月26日23:20:46 2016
  • OS / Arch:linux / amd64

服务器:

  • 版本:1.11.1
  • API版本:1.23
  • Go版本:go1.5.4
  • Git commit:5604cbe
  • build于:2016年4月26日23:20:46 2016
  • OS / Arch:linux / amd64

从站上的Mesos版本:0.22.1

如果我从奴隶删除集装箱configuration,那么它的工作正常。 Mesos,Marathon,Docker在节点上运行。

我甚至试图降级到0.21.1和docker到1.9.0,但得到相同的错误。

有人可以帮助我吗?

谢谢!! 萨米特

由于MESOS-2986 ,我认为你需要使用0.24.1,0.23.1,0.22.2或0.21.2中的一个 。

尝试从源代码构buildmesos而不是使用debs。 这里是相当简单的教程如何做到这一点。

 # 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 

编辑:

马拉松需要将libmesos放在系统中,所以在从源代码构buildMesos之后,确保使用正确的lib。 下面从文档中提取

MESOS_NATIVE_JAVA_LIBRARY: bin/startsearchMesos本机库的常用安装path/usr/lib/usr/local/lib 。 如果库存在于configuration中的其他位置,请将环境variablesMESOS_NATIVE_JAVA_LIBRARY设置为完整path。

例如:

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