我以后能够摆脱这个错误,但我不确定我做了什么是正确的.1)
CREATE KEYSPACE myKeySpace WITH replication =
{'class': 'NetworkTopologyStrategy', 'dc1': '1', 'dc2': '2'}
AND durable_writes = true;
Run Code Online (Sandbox Code Playgroud)
执行create table并在此之后选择table.这会在控制台中抛出"NoHostAvailable:"错误.
2)如果我将create语句更改为下面的一个,则select查询有效.
CREATE KEYSPACE myKeySpace WITH replication =
{'class': 'NetworkTopologyStrategy', 'datacenter1': '1', 'dc2': '2'}
AND durable_writes = true;
Run Code Online (Sandbox Code Playgroud)
如果我有一个默认的datacenter1,它可以工作.我无法理解为什么它只在我给datacenter1时才有效.请帮忙.
您在执行时会看到哪些数据中心nodetool status?
您指定为您的密钥空间复制因子(RF)的数据中心必须在任何您被预定义cassandra-rackdc.properties或cassandra-topology.properties文件(取决于您配置的金色飞贼).
小智 6
当我尝试访问使用 NetworkTopologyStrategy 复制策略在键空间中创建的表时,我遇到了同样的问题。
后来我发现原因是因为我在本地使用,所以副本不可用。
如果我将键空间复制策略更改为 SimpleStrategy 并将replication_factor更改为 1,错误就会消失。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
9633 次 |
| 最近记录: |