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\" \n", "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其實就是在等結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM