Cassandra:选择查询时出现cqlsh noHostAvailable错误

时间:2019-09-12 02:30:03

标签: cassandra cqlsh

我遇到错误 :noHost在cqlsh中可用 当我运行表时,尽管可以在该表中插入选择查询。

当我尝试使用nodetool status命令时,我发现...

Get-User | foreach {Remove-MsolUser -UserPrincipalName -eq $userz}

我只有一个用于单节点群集的设置,如何将此设置更改为单节点,还需要更改我的密钥空间,我怀疑密钥空间可能会超过一个节点。

2 个答案:

答案 0 :(得分:0)

节点问题: 看看您的/etc/cassandra/cassandra.yml节种子。 它应该只包含您的IP -种子:“ YOUR_IP”

选择: 您需要检查复制因子,因此运行:     cqlsh>描述键空间YUOR_KEYSAPCE;

如果大于1 您可以通过以下方式更改它:

ALTER KEYSPACE keyspace_name 
WITH REPLICATION =  { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

并运行nodetool repair

如果在此之后仍找不到问题,则可以重命名群集:

登录cqlsh

UPDATE system.local SET cluster_name = 'YOUR_CLUSTER_NAME' where key='local';

退出cqlsh

nodetool flush

将cassandra.yaml群集名称编辑为YOUR_CLUSTER_NAME。

重新启动cassandra。

答案 1 :(得分:0)

似乎您的数据驻留在当前已关闭的节点上。 根据上面的输出,在3个节点群集中,有2个节点关闭,并且复制因子为1。在这种情况下,您的选择查询将转到协调器节点,但是协调器节点未从其他节点获取数据,原因是这些节点已关闭。请尝试建立其他节点,然后尝试执行SELECT。