cqlsh在输入':'处没有可行的选择

时间:2018-12-20 18:49:02

标签: cassandra cqlsh

你好,我需要正确地执行此命令,从詹金斯那里远程

ssh -T -i /home/jenkins-brs/.ssh/id_rsa cassandra@myhost 'sh /var/cassandra/bin/cqlsh -e "ALTER KEYSPACE system_auth WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 2, 'DC2' : 2};"'

但是我有这个错误:

<stdin>:1:SyntaxException: line 1:47 no viable alternative at input ':' (... system_auth WITH REPLICATION = {[class] :...)

这是我对cassandra表的期望:

system_auth | True | {'DC1': '2', 'DC2': '2', 'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy'}

1 个答案:

答案 0 :(得分:1)

错误与您作为命令粘贴的内容不匹配。从错误看来,您好像拥有class而不是'class'

[with update] ssh对您的shell命令使用单引号,看起来原因是某些转义问题,在WITH REPLICATION = {之后结束了查询。如果您使用双引号,则可以在cqlsh arg中用反斜杠转义。