cqlsh нет подходящей альтернативы при вводе ':' - PullRequest
0 голосов
/ 20 декабря 2018

привет Мне нужно правильно выполнить этот комманд, удаленно от jenkins

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] :...)

Это то, что я ожидаю на таблице Кассандры:

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

1 Ответ

0 голосов
/ 21 декабря 2018

Ошибка не соответствует тому, что вы вставили в качестве команды.По ошибке похоже, что у вас class вместо 'class'.

[с обновлением] ssh использует одинарную кавычку для вашей команды оболочки, которая выглядит так, будто причины - это некоторые проблемы, завершающие запрос после WITH REPLICATION = {.Если вместо этого вы используете двойные кавычки, вы можете избежать их в cqlsh arg с обратной косой чертой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...