zoukankan      html  css  js  c++  java
  • dcos的问题汇总

    . group 'docker' does not exist
      需要手工创建docker组,这一步本来应该是在安装docker的时候来完成的,但是采用yum install的方式不行,需要添加一个docker的repo然后才能够安装。

    2. ssh: connect to host 10.1.108.64 port 22: Operation timed out
      重启服务器之后搞定了。为什么会出现这个问题,因为我谢了一个测试代码,set timeout=5,这个代码的起源是一段通过ssh远程登录的代码,通过set timeout来实现ssh超时设定,但是这个设定了之后影响是全局的。

    3. FAIL(devicemapper,/dev/loop0)异常
      dcos在check过程中将会把docker的存储方式修改为overlay,docker安装默认是devicemapper,如果修改后重启docker失败将会报此错误;所以通过service docker status来查看一下是否有drop-in以及override.conf,有的话,只需要重启docker服务即可自动更换存储格式,完事。如果还是devicemapper模式,则删掉/opt下面的dcos-reqinstalled文件即可,这样就会重新设置docker的存储模式。

    4. 需要关闭端口
      53 - 用于DNS
      80
      2181 -用于安装zookeeper
      9990


    5. 关于detect ip脚本
      尽量保证网卡的名称一致,因为根据获取IP的脚本都是统一的根据网卡的名称来找对应的IP,这里应该写一个脚本保证网卡的名称一致。
    在deplooy的时候发生了异常:
      Error executing DC/OS components health check: unable to execute GET /system/health/v1: Get http://10.1.108.68:61001/system/health/v1: dial tcp 10.1.108.68:61001: getsockopt: connection refused" ", "status": 1
      但是这个只是表面现象,通过查询官网的Trouble Shooting,逐个排查组件,发现很可能是DNS的异常,因为组件中有如下异常:

      ping: ready.spartan: Name or service not known
      定位为题,查看日志:

       systemctl | grep dcos 
      获取dcos的服务信息,根据官网的trouble shooting介绍进行逐个排查
       journalctl -xe -u dcos-exhibitor.service --no-pager --since today 
      exhibitor组件根本没有日志,但是出于running状态;没有线索,看下一个,mesos-master(首先分析master机器,没有结果再分析agent机器)
        journalctl -xe -u dcos-mesos-master --no-pager --since today 
      发现了一些问题:ping: ready.spartan: Name or service not known,spartan是mesos的DNS服务,这说明现在的DNS服务器有问题,下面再分析DNS服务(也是三个组件)
       journalctl -xe -u dcos-mesos-dns.service --no-pager --since today 
      恩,找到了根源:Failed to start Mesos DNS: domain name based service discovery.
      然后查看了一下
       journalctl -flu dcos-spartan --no-pager 
      跟踪到了错误日志:
      FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/dcos/exhibitor/zk.pid'
      之后的错误日志信息
      Starting DNS Forwarder (Spartan): forwards DNS requests to multiple DNS servers...
      dcos-spartan.service holdoff time over, scheduling restart.
      Failed to load environment files: No such file or directory
      dcos-spartan.service failed to run 'start-pre' task: No such file or directory
      Failed to start DNS Forwarder (Spartan): forwards DNS requests to multiple DNS servers.
      Unit dcos-spartan.service entered failed state.
      dcos-spartan.service failed.(这部分日志比较具有迷惑性,什么意义也没有)

      journalctl -flu dcos-adminrouter.service --no-pager

      没有什么有价值的日志信息。
      后来重启了dcos的master的核心服务exhibitor,才发现问题,不知为何直接采用上面提到的journalctl方式无法看到日志,知道重新启动服务后,才开始刷日志,根据日志信息知道了一个信息:脚本文件头少了"#!/bin/bash",添加后,再重启服务,才发现原来detectIP里面返回的IP地址为127.0.0.1或者是空,导致了失败;期初我的脚本是实现的从Linux全局变量中获取本机的IP信息,但是不知为何在脚本里面执行的时候,无法获得这个全局变量。
      最后用了一种hack的方式,echo了本机的地址,但是这个问题要解决,后续会尝试一下官网的方案;

      对于master而言exhibitor服务就是关键,他起来了,什么都OK了
      之后报错:PermissionError: [Errno 13] Permission denied: '/var/lib/dcos/exhibitor/conf/log4j.properties'
    一看conf目录下竟然没有log4j.properties,这是怎么回事呢?手动添加一个吧;还要+777,否则python不知为何向里面写东西没有权限;推测是因为第一次失败后,并没有创建改文件;因为正常安装这些文件都是由程序自己来创建的。

      然后发现zookeeper无法启动:Unable to create parent directories of /var/lib/dcos/exhibitor/zookeeper/snapshot/myid,不知为何你到/var/lib/dcos/exhibitor下面看能够看到有的是dcos_exhibitor,有的是root权限,现在执行的应该是dcos_exhibitor用户,当然没有权限去想zookeeper里面去写了。

      Group docker does not exist on the system
      创建一个组,名字叫docker,也是醉了

      deploy过程其实就是在执行了,Running Post-Flight其实就是在等结果

  • 相关阅读:
    自定义WordPress文件上传路径
    PHP Warning: preg_match(): JIT compilation failed: no more memory in
    Mac下PHP7.1+Nginx安装和配置
    bootstrap modal插件弹出窗口如何限制最大高度,并且在内容过多时可以滚动显示
    Language Tool ,a plugin for TeXStudio
    平均值mean,众数mode,中值median 和 标准差stddev
    LaTeX Software & Manuals
    MAFFT多重序列比对--(附比对彩标方法)
    Markdown语法 (中文版)
    在64位系统上不能安装Matlab notebook的解决方案
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7859878.html
Copyright © 2011-2022 走看看