【问题标题】:Mesos Slave - Docker composeMesos 从站 - Docker 组合
【发布时间】:2017-08-11 21:51:36
【问题描述】:

我正在使用 mesos 版本 1.0.3。刚刚通过

安装了mesos
docker pull mesosphere/mesos-master:1.0.3
docker pull mesosphere/mesos-salve:1.0.3

使用docker-compose启动mesos-master和mesos-slave。

docker-compose 文件,

services:
  #
  # Zookeeper must be provided externally
  #

  #
  # Mesos
  #
  mesos-master:
    image: mesosphere/mesos-master:1.0.3
    restart: always
    privileged: true
    network_mode: host
    volumes:
      - ~/mesos-data/master:/tmp/mesos
    environment:
      MESOS_CLUSTER: "mesos-cluster"
      MESOS_QUORUM: "1"
      MESOS_ZK: "zk://localhost:2181/mesos"
      MESOS_PORT: 5000
      MESOS_REGISTRY_FETCH_TIMEOUT: "2mins"
      MESOS_EXECUTOR_REGISTRATION_TIMEOUT: "2mins"
      MESOS_LOGGING_LEVEL: INFO
      MESOS_INITIALIZE_DRIVER_LOGGING: "false"

  mesos-slave1:
    image: mesosphere/mesos-slave:1.0.3
    depends_on: [ mesos-master ]
    restart: always
    privileged: true
    network_mode: host
    volumes:
      - ~/mesos-data/slave-1:/tmp/mesos
      - /sys/fs/cgroup:/sys/fs/cgroup
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      MESOS_CONTAINERIZERS: docker
      MESOS_MASTER: "zk://localhost:2181/mesos"
      MESOS_PORT: 5051
      MESOS_WORK_DIR: "/var/lib/mesos/slave-1"
      MESOS_LOGGING_LEVEL: WARNING
      MESOS_INITIALIZE_DRIVER_LOGGING: "false"

Mesos master 运行良好,没有任何问题。但是从站不是从以下错误开始的。不确定,这里还缺少什么。

I0811 21:38:28.952507     1 main.cpp:243] Build: 2017-02-13 08:10:42 by ubuntu
I0811 21:38:28.952599     1 main.cpp:244] Version: 1.0.3
I0811 21:38:28.952601     1 main.cpp:247] Git tag: 1.0.3
I0811 21:38:28.952603     1 main.cpp:251] Git SHA: c673fdd00e7f93ab7844965435d57fd691fb4d8d
SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.29:  No such file or directory
2017-08-11 21:38:29,062:1(0x7f4f78d0d700):ZOO_INFO@log_env@726: Client environment:zookeeper.version=zookeeper C client 3.4.8
2017-08-11 21:38:29,062:1(0x7f4f78d0d700):ZOO_INFO@log_env@730: Client environment:host.name=<HOST_NAME>
2017-08-11 21:38:29,062:1(0x7f4f78d0d700):ZOO_INFO@log_env@737: Client environment:os.name=Linux
2017-08-11 21:38:29,062:1(0x7f4f78d0d700):ZOO_INFO@log_env@738: Client environment:os.arch=3.8.13-98.7.1.el7uek.x86_64
2017-08-11 21:38:29,062:1(0x7f4f78d0d700):ZOO_INFO@log_env@739: Client environment:os.version=#2 SMP Wed Nov 25 13:51:41 PST 2015
2017-08-11 21:38:29,063:1(0x7f4f78d0d700):ZOO_INFO@log_env@747: Client environment:user.name=(null)
2017-08-11 21:38:29,063:1(0x7f4f78d0d700):ZOO_INFO@log_env@755: Client environment:user.home=/root
2017-08-11 21:38:29,063:1(0x7f4f78d0d700):ZOO_INFO@log_env@767: Client environment:user.dir=/
2017-08-11 21:38:29,063:1(0x7f4f78d0d700):ZOO_INFO@zookeeper_init@800: Initiating client connection, host=localhost:2181 sessionTimeout=10000 watcher=0x7f4f82265e50 sessionId=0 sessionPasswd=<null> context=0x7f4f5c000930 flags=0
2017-08-11 21:38:29,064:1(0x7f4f74ccb700):ZOO_INFO@check_events@1728: initiated connection to server [127.0.0.1:2181]
2017-08-11 21:38:29,067:1(0x7f4f74ccb700):ZOO_INFO@check_events@1775: session establishment complete on server [127.0.0.1:2181], sessionId=0x15dc8b48c6d0155, negotiated timeout=10000
Failed to perform recovery: Failed to run 'docker -H unix:///var/run/docker.sock ps -a': exited with status 1; stderr='Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.22)
'
To remedy this do as follows:
Step 1: rm -f /var/lib/mesos/slave-1/meta/slaves/latest
        This ensures agent doesn't recover old live executors.

以下命令为 docker 客户端 API 和 docker 服务器 API 返回相同的版本。不确定设置有什么问题。

docker -H unix:///var/run/docker.sock 版本

Client:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Thu Feb 11 19:18:46 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Thu Feb 11 19:18:46 2016
 OS/Arch:      linux/amd64

【问题讨论】:

    标签: docker docker-compose mesos mesosphere


    【解决方案1】:

    Meoss slave 使用的是客户端版本 1.24。

    这在为 mesos 从站设置环境变量后工作。

    DOCKER_API_VERSION = 1.22
    

    Docker的发布版本和API版本组合如下:

    https://docs.docker.com/engine/api/v1.26/#section/Versioning

    另一个选项是更新 docker 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多