[英]Unable to start mesos-slave after adding containerizer setting on slave
I want to run docker container through marathon on mesos cluster so I added docker in mesos-slave containerizers configuration with below command. 我想在mesos群集上通过马拉松运行docker容器,因此我使用以下命令在mesos-slave containerizers配置中添加了docker。
echo 'docker,mesos' > /etc/mesos-slave/containerizers
After change mesos-slave its not starting. 更改mesos-slave之后,它不会启动。 I am getting error
我遇到错误
Insufficient version of Docker!
Docker版本不足! Please upgrade to >= 1.0.0' in slave logs while restarting: Here below is complete log
重新启动时,请在从属日志中升级到> = 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
Below is docker version details on mesos-slave: 以下是mesos-slave上docker版本的详细信息:
Client: 客户:
Server: 服务器:
Mesos version on slave: 0.22.1 从站上的Mesos版本:0.22.1
If I remove containerizers configuration from slave then its working fine. 如果我从奴隶删除容器化器配置,那么它的工作正常。 Mesos, Marathon, Docker are running as service on nodes.
Mesos,Marathon,Docker在节点上作为服务运行。
I even tried downgrading mesos to 0.21.1 & docker to 1.9.0 but getting same error. 我什至尝试将mesos降级为0.21.1并将docker降级为1.9.0,但得到相同的错误。
Can someone please help me on this? 有人可以帮我吗?
Thanks!! 谢谢!! Sumit
住友
I think you need to use one of 0.24.1, 0.23.1, 0.22.2 or 0.21.2 due to MESOS-2986 . 我认为由于MESOS-2986您需要使用0.24.1、0.23.1、0.22.2或0.21.2之一。
Try to build mesos from source rather than using debs. 尝试从源代码而不是使用debs构建mesos。 Here is pretty straightforward tutorial how to do it.
这是一个非常简单的教程,该如何做。
# 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
EDIT: 编辑:
Marathon require libmesos
to be placed in the system so after building Mesos from source ensure proper lib will be used. 马拉松比赛要求将
libmesos
放入系统中,因此从源构建Mesos之后,请确保将使用正确的lib。 Below extract from documentation 以下摘录自文档
MESOS_NATIVE_JAVA_LIBRARY: bin/start
searches the common installation paths,/usr/lib
and/usr/local/lib
, for the Mesos native library.MESOS_NATIVE_JAVA_LIBRARY: bin/start
在公用安装路径/usr/lib
和/usr/local/lib
中搜索Mesos本机库。 If the library lives elsewhere in your configuration, set the environment variableMESOS_NATIVE_JAVA_LIBRARY
to its full path.如果该库位于配置的其他位置,请将环境变量
MESOS_NATIVE_JAVA_LIBRARY
设置为其完整路径。For example:
例如:
$ MESOS_NATIVE_JAVA_LIBRARY=/Users/bob/libmesos.dylib ./bin/start --master local --zk zk://localhost:2181/marathon
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.