首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dcos Cassandra子命令错误

dcos Cassandra子命令错误
EN

Stack Overflow用户
提问于 2016-04-25 02:25:16
回答 2查看 523关注 0票数 1

似乎无法安装Cassandra包,marathon get卡在部署阶段1/2,dcos Cassandra子命令发出以下堆栈跟踪,感谢任何帮助。

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2016-04-26 01:47:09

我在构建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服务管理器作为马拉松任务运行。
  2. 将弹出一个面板,显示马拉松管理的所有任务的列表。单击此列表上的cassandra可显示其工作目录,包括可用的日志文件。
  3. 当将鼠标悬停在文件上时,将出现放大镜。单击放大镜以在线显示相应的文件。
票数 2
EN

Stack Overflow用户

发布于 2016-04-26 21:08:19

不幸的是,我们仍然有同样的问题,尽管我们已经设法解决了。似乎Azure上的DC/OS存在不止一个明显的问题,无论如何我会提供进一步的反馈。如果使用的是DC/OS 1.7.0的Marketplace版本,Cassandra不会部署,它会在1/2阶段陷入马拉松,在检查日志时,它似乎在访问默认端口时出现了问题。

Pastebin to log file

另一方面,这个问题没有出现在ACS DC/OS上,Cassandra部署正确地出现在DC/OS服务选项卡中以及在Marathon上。DCOS Cassandra CLI在任何系统上都不起作用。根据不是很彻底的检查,当我们使用上面的方法安装DCOS CLI时,似乎存在一些依赖项的问题,特别是考虑到了$PYTHONPATH变量

代码语言:javascript
复制
/opt/mesosphere/lib/python3.4/site-packages

我们能够通过采取两个操作来解决依赖关系问题:

  • 的第一个依赖问题是requests模块,在为cassandra子命令安装cli后,通过以下操作解决了该问题。

cd ~/.dcos/子命令/cassandra source env/bin/activate pip install -Iv requests

我们使用了-Iv,因为通常的更新过程在$PYTHONPATH路径中的外部依赖项失败,所以请求解决依赖项。

Cassandra子命令需要的第二个依赖项是

  • ,同样通过使用我们能够解决该问题的相同方法,现在该子命令根据文档工作

pip install -Iv docopt

这似乎有点老生常谈,想知道是否有更合适的事情要做。

执行上述步骤后dcos cassandra连接的输出

代码语言:javascript
复制
{
"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子命令上,例如Kafka子命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36827158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档