更改键空间以更改策略 class 在 cassandra-cli 中不起作用
Altering keyspace to change strategy class is not working in cassandra-cli
我尝试在 cassandra 1.1.6 版本的 cassandra-cli 中使用以下命令使用策略 class 和选项更改键空间,但它显示“位置 0 处的语法错误:输入时没有可行的选择 'ALTER'.
ALTER KEYSPACE system_auth WITH REPLICATION =
{'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};
这里有什么问题?
UPDATE KEYSPACE demo
WITH placement_strategy = 'NetworkTopologyStrategy'
AND strategy_options = {'dc1' : 3, 'dc2' : 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};
我建议您以后使用 cqlsh
。 cassandra-cli
已弃用,将不会收到任何进一步的更新。
此外,您还应该了解如何将集群升级到更新版本的 Cassandra。虽然您错过了几个新功能,但自 1.1.6 以来已经修复了许多错误(您可能 运行 遇到的错误)。
我尝试在 cassandra 1.1.6 版本的 cassandra-cli 中使用以下命令使用策略 class 和选项更改键空间,但它显示“位置 0 处的语法错误:输入时没有可行的选择 'ALTER'.
ALTER KEYSPACE system_auth WITH REPLICATION =
{'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};
这里有什么问题?
UPDATE KEYSPACE demo
WITH placement_strategy = 'NetworkTopologyStrategy'
AND strategy_options = {'dc1' : 3, 'dc2' : 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};
我建议您以后使用 cqlsh
。 cassandra-cli
已弃用,将不会收到任何进一步的更新。
此外,您还应该了解如何将集群升级到更新版本的 Cassandra。虽然您错过了几个新功能,但自 1.1.6 以来已经修复了许多错误(您可能 运行 遇到的错误)。