dcos cassandra子命令错误

问题描述:

似乎无法安装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版本? –

我正在组建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. 将鼠标悬停在文件上时,会出现放大镜。点击放大镜可以在线显示相应的文件。

不幸的是,我们仍然遇到同样的问题,尽管我们设法解决了这个问题。 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 –