2016-04-24 105 views
1

似乎無法安裝Cassandra軟件包,馬拉松獲得卡在1/2階段的部署中並且dcos cassandra子命令發出以下堆棧跟蹤,任何幫助都將得到滿足。dcos cassandra子命令錯誤

Traceback (most recent call last): 
    File "/home/azureuser/.dcos/subcommands/cassandra/env/bin/dcos-cassandra", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/opt/mesosphere/lib/python3.4/site-packages/pkg_resources.py", line 2701, in <module> 
    parse_requirements(__requires__), Environment() 
    File "/opt/mesosphere/lib/python3.4/site-packages/pkg_resources.py", line 572, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: requests 


Python version: Python 3.4.2 
requests version : 1.8.1 
+0

你可以用兩條信息更新你的問題:什麼DC/OS版本(我假設dcos.io中有1.7個EA?)以及CLI上'dcos --version'的輸出。 –

+0

嗨邁克爾,DC/OS版本是從azure ui狀態DC/OS v.1.7.0,CLI輸出dcos版本0.4.4 –

+0

市場或ACS?什麼是CLI版本? –

回答

1

我正在組建Cassandra服務團隊。感謝您的嘗試!

我們剛剛更新了Cassandra CLI軟件包以更好地定義其pip依賴關係。在你的情況下,它看起來像試圖重用舊版本的requests庫?要將CLI的Cassandra模塊啓動到最新版本,請嘗試運行dcos package uninstall --cli cassandra; dcos package install --cli cassandra。請注意,--cli很重要;省略它會導致卸載Cassandra服務本身,而我們只想重新安裝本地CLI模塊。

請記住,您還應該能夠直接通過HTTP訪問Cassandra服務。 CLI模塊實際上是服務HTTP API周圍的精簡接口。例如,curl -H "Authorization:token=$(dcos config show core.dcos_acs_token)" http://<your-dcos-host>/service/cassandra/v1/plan | jq '.'。其他端點請參見Cassandra 1.7 docs中的curl示例。

一旦CLI啓動並運行,應該能夠更深入地瞭解服務的狀態,但日誌可能會提供更全面的信息,特別是在服務無法啓動的情況下。您可以直接通過訪問儀表盤在http://<your-dcos-host>/訪問服務日誌:

  1. 點擊Services左側,然後從列表中選擇marathon。 Cassandra服務管理器作爲Marathon任務運行。
  2. 將出現一個面板,顯示馬拉松管理的所有任務的列表。點擊此列表中的cassandra以顯示其工作目錄,包括可用的日誌文件。
  3. 將鼠標懸停在文件上時,會出現放大鏡。點擊放大鏡可以在線顯示相應的文件。
1

不幸的是,我們仍然遇到同樣的問題,儘管我們設法解決了這個問題。 Azure上的DC/OS似乎存在多個不同的問題,無論如何,我會提供進一步的反饋。如果使用Marketplace版本的DC/OS 1.7.0,Cassandra不會部署,它會在第1/2階段停留在Marathon中,在檢查日誌時,它似乎對訪問默認端口有問題。

Pastebin to log file

另外這一問題不會對ACS DC/OS的出現,卡桑德拉正確部署中出現的DC/OS服務選項卡,以及對馬拉松。 DCOS Cassandra CLI不適用於任何。在一個不是很徹底的檢查,似乎當我們使用上面有一些問題的依賴性特別考慮到$ PYTHONPATH變量

/opt/mesosphere/lib/python3.4/site-packages 

我們能夠通過解決依賴關係問題的方法安裝DCOS CLI採取兩個動作:

  • 首先依賴的問題是與請求模塊,這是與卡桑德拉子安裝CLI後執行以下操作來解決。

    cd ~/.dcos/subcommands/cassandra 
    source env/bin/activate 
    pip install -Iv requests 
    

我們使用-Iv因爲通常的更新過程失敗,並在$ PYTHONPATH路徑外部依賴,所以請求的依賴解決。

  • 第二依賴其卡桑德拉子是一個需要被docopt,再利用,我們能夠解決這一問題同樣的方法,現在的子工程按文檔

    pip install -Iv docopt 
    

這看起來似乎有點冒失,想知道是否有更合適的做法。以上服用後DCOS卡桑德拉連接的

輸出步驟

{ 
"address": [ 
    "10.32.0.9:9042", 
    "10.32.0.6:9042", 
    "10.32.0.8:9042" 
], 
"dns": [ 
    "node-0.cassandra.mesos:9042", 
    "node-1.cassandra.mesos:9042", 
    "node-2.cassandra.mesos:9042" 
] 
} 

同樣的情況對於其他DC/OS子像例如卡夫卡之一。

+0

感謝您的詳細報告。現在跟蹤並調查它。 –

+0

僅供參考,請訪問https://dcosjira.atlassian.net/browse/DCOS-54並隨時添加@ hugo-matinho –