更改密钥空间以更改策略类在cassandra-cli中不起作用

时间:2015-01-29 12:35:36

标签: cassandra cassandra-cli

我尝试使用cassandra-cli版本cassandra 1.1.6中的下面命令使用策略类和选项更改密钥空间,但它说'位置0处的语法错误:输入'ALTER'时没有可行的替代方法。

ALTER KEYSPACE system_auth WITH REPLICATION =
  {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};

这里有什么问题?

2 个答案:

答案 0 :(得分:2)

发生了什么,是您使用CQL语法从(不建议使用的)cassandra-cli工具中更新密钥空间。如果您使用cqlsh工具,您的命令将正常工作。但是对于cassandra-cli,这不起作用。正如Yasmeen指出的那样,您要使用的正确语法是UPDATE KEYSPACE

UPDATE KEYSPACE system_auth with placement_strategy = 'NetworkTopologyStrategy'
and strategy_options = {'dc1' : 3, 'dc2' : 2};

我建议你以后使用cqlshcassandra-cli已弃用,不会再收到任何更新。

此外,您还应该看到有关将群集升级到更新版本的Cassandra的信息。虽然您错过了几个新功能,但自1.1.6以来已经修复了许多错误(您可能遇到的错误)。

答案 1 :(得分:0)

UPDATE KEYSPACE demo 
WITH placement_strategy = 'NetworkTopologyStrategy'  
AND strategy_options = {'dc1' : 3, 'dc2' : 2};