Я новичок в Cassandra, у меня проблема с подключением к ней. Вот подробности:
Рабочая среда: Cubie-board A80 под управлением Ubuntu Linaro 14.04 (которую можно загрузить с http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro)
Версия Cassandra: Версия 2.1.7 (с http://downloads.datastax.com/community/dsc-cassandra-2.1.7-bin.tar.gz)
Описание проблемы: после запуска cassandra при использовании cqlsh для подключения к ней (набрав
./cqlsh 192.168.10.26 -u cassandra -p cassandra
) время ожидания истекло:Connection error: ('Unable to connect to any servers', {'192.168.10.26': OperationTimedOut('errors=Timed out creating connection, last_host=None',)})
Самопроверка: в файле конфигурации cassandra для listen_address, rpc_address и Broadcast_rpc_address установлено значение 192.168.10.26, native_transport_port — 9042, что по умолчанию, start_native_transport — true. Так же пробовал запустить cqlsh без логина и пароля, выдало:
Connection error: ('Unable to connect to any servers', {'192.168.10.26': AuthenticationFailed('Remote end requires authentication.',)})
, значит запущена кассандра.
Есть идеи, что произошло? Спасибо.
Обновления:
Попытался указать порт 9042 в команде cqlsh;
Попытался изменить номер порта на 9043;
Попытался проверить порт 9042: в состоянии «LISTEN» и используется java;
Попытался проверить состояние брандмауэра: ufw не установлен
Update_new: проблема сузилась: проблема связана с аутентификатором, то есть, если я использую AllowAllAuthenticator, база данных будет подключена без проблем; если я включу PasswordAuthenticator, время ожидания соединения истекло (с использованием cassandra/cassandra в качестве имени пользователя и пароля). Я знаю, что это странно, точно такая же настройка на моей виртуальной машине не показывает такой проблемы с подключением. Также протестировано в последней стабильной версии 2.2.3.
На данный момент проблема решена: изначально я использовал OpenJDK на этом Cubieboard, затем я удалил OpenJDK и переключил его на Oracle Java, эта проблема решилась сама собой. К сожалению, на данный момент я до сих пор не знаю, почему аутентификация не будет работать с OpenJDK, а с Oracle — нет. Но этот обходной путь может быть полезен для тех, кто использует cassandra на Cubieboard A80.
cqlsh 192.168.10.26 9042 -u cassandra -p cassandra
- person Brandon   schedule 24.11.2015cqlsh
? Вы запускаете его с самого сервера cassandra? Или удаленно с другой машины? Какую версиюcqlsh
вы используетеcqlsh --version
? - person Brandon   schedule 24.11.2015