cqlsh 连接错误:'ref() 不接受关键字参数'
- 2024-10-21 09:14:00
- admin 原创
- 73
问题描述:
我已经尝试了这篇文章和Cassandra 文档中的所有措施。
我尝试运行所有版本的 Cassandra,包括来自 tarball 和 Debian 包的最新版本 3.7,但是我在执行时不断收到错误cqlsh
。
错误:
连接错误:('无法连接到任何服务器',{'127.0.0.1':TypeError('ref()不接受关键字参数',)})
在我将 Linux Mint 从 17.3 升级到 18 之前,运行 Cassandra 没有任何问题。
我相信我安装了所有必要的软件包,例如 java 8 和 python 2.7.12。
我认为问题存在于 cassandra.yaml 文件中,因为默认设置不起作用,但我不确定如何正确配置以使其运行。
欢迎提出任何建议。
解决方案 1:
您遇到了CASSANDRA-11850,其中 cqlsh 与 Python 2.7.11+ 不兼容。此票已标记为“已解决”,并且已将补丁应用于尚未发布的 Cassandra 3.9。
我相信我安装了所有必要的软件包,例如 java 8 和 python 2.7.12。
在此期间(直到 3.9 发布),您可以回滚到 Python 2.7.10,并且 cqlsh 应该可以工作(并非易事)。否则,DataStax DevCenter应该可以与 Cassandra 3.7 一起使用。
编辑20161020
Cassandra 3.9 几周前发布,现在可以下载。
解决方案 2:
请参阅https://issues.apache.org/jira/browse/CASSANDRA-11850
设置环境变量后
CQLSH_NO_BUNDLED=TRUE
它解决了。
我使用 Windows 7、Python 2.7.12、Cassandra 3.7
解决方案 3:
需要添加以下命令
sudo apt install python-pip
pip install cassandra-driver
export CQLSH_NO_BUNDLED=true
解决方案 4:
这适用于 Amazon EC2 中的 Ubuntu 16.04:
sudo apt-get --no-install-recommends install python-cassandra python3-cassandra
CQLSH_NO_BUNDLED=TRUE cqlsh "$(ec2metadata --local-ipv4)"
解决方案 5:
即使回滚到 Python 2.7.10,问题仍然存在。这意味着 Python 2.7.10 未设置为默认 Python 版本。
转到 /usr/bin 目录并检查可用的不同 python 版本,比如 python2.7 对应版本 2.7.10(您可以通过在终端中运行命令 python2.7 来检查,python 版本将在解释器的第一行中提到,尝试对文件夹中所有其他可用的 python 版本执行相同操作,以找到与版本 2.7.10 对应的版本)。
现在,使用以下命令将正确的 Python 版本(我的情况是 Python2.7)设为默认选择
更新替代方案——安装/usr/bin/python python /usr/bin/python2.7
解决方案 6:
这可能是因为您没有安装 cassandra-driver。
因为我也遇到了同样的问题,并且我按照以下步骤解决了。
尝试安装 python pip,然后安装 cassandra-driver。
1.sudo apt 安装 python-pip 2.pip 安装 cassandra-driver
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件