Apache Cassandra 3.7 CQLSH 'Невозможно подключиться к любым серверам'
Apache cassandra версии 3.7 работает на сервере Ubuntu 16.04 в порядке, все части apache cassandra запущены без проблем, проблема в том, что я иду подключиться с помощью cqlsh:
$ CQLSH (мой IP-адрес) 9160
то он говорит:
Ошибка подключения: ( "Невозможно подключиться к любым серверам",
{'10.0.0.13 ': TypeError (' ref() не принимает аргументы ключевых слов ',)}
)
я видел, что была ошибка:
https://issues.apache.org/jira/browse/CASSANDRA-11850
но его для версии cqlsh -version: cqlsh 5.0.1
cassandra -v: 3.5 (также встречается с 3.0.6)
Кто-то прокомментировал мой билет Apache Cassandra:
https://issues.apache.org/jira/browse/CASSANDRA-12402
заявив:
Используйте обходной путь, описанный в билете:
Если у вас установлен современный драйвер cassandra, вы можете отключить встроенный драйвер, установив переменную среды CQLSH_NO_BUNDLED в любую непустую строку, например, экспортировать CQLSH_NO_BUNDLED = true.
ВОПРОСЫ:
Как отключить обновленный драйвер cassandra? в каком каталоге он находится? какое имя файла? также, если я отключу его, смогу ли я подключиться с помощью CQLSH? какой инструмент вы использовали для подключения к apache cassandra для запуска команд и т.д. Кроме CQLSH непосредственно на сервере?
Ответы
Ответ 1
Как описано в билете - укажите переменную среды CQLSH_NO_BUNDLED и экспортируйте ее.
export CQLSH_NO_BUNDLED=true
Он скажет cqlsh (это программа Python) использовать внешний драйвер Cassandra Python, а не тот, который связан с дистрибутивом. Связанный драйвер Cassandra находится в /opt/datastax -ddc-3.7.0/bin, имя файла - cassandra-driver-internal-only-3.0.0-6af642d.zip
Затем запустите cqlsh, который находится в /opt/datastax -ddc-3.7.0/bin.
./cqlsh
Возможно, вам понадобится установить Cassandra Python (если он еще не был установлен), используя:
pip install cassandra-driver
Примечание. Имена папок для сборки Datastax Cassandra.
Ответ 2
Вероятно, это связано с версией python.
Вот билет, отмеченный как разрешенный. Ошибка соединения cqlsh: 'ref() не принимает аргументы ключевых слов
Я попробовал на моей стороне. После возврата python в 2.7.10 он работает хорошо.