Я новичок в Cassandra, у меня есть проблема с подключением к нему. Вот деталь:Время соединения Cassandra, вызванное PasswordAuthenticator
Рабочая среда: Cubie доска 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)
- описание
проблемы: После запуска Кассандры, при использовании 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 верно. Я также пытался запустить cqlsh без имени пользователя и пароля, он показал:
Connection error: ('Unable to connect to any servers', {'192.168.10.26': AuthenticationFailed('Remote end requires authentication.',)})
, что означает, что cassandra запущен.
Любая идея, что произошло? Благодарю.
Обновления:
Пробовал указать 9042 порт в cqlsh команде;
Пробовал изменить номер порта до 9043;
Пробовал проверить номер порта 9042: в состоянии «LISTEN» и используется java;
Пробовал проверять состояние брандмауэра: нет UFW не установлен
Update_new: Проблема сужен: это аутентификатор вызывает проблему, то есть, если я использую AllowAllAuthenticator, база данных будет подключена без проблем; если я включу PasswordAuthenticator, время ожидания соединения (используя cassandra/cassandra как user_name и passwd). Я знаю, что это странно, точно такая же настройка на моей виртуальной машине не показывает такую проблему соединения. Также проверена в последней стабильной версии 2.2.3.
Пока проблема решена: изначально я использовал OpenJDK на этом Cubieboard, затем я удалил OpenJDK и переключил его на Oracle Java, эта проблема была решена сама по себе. К сожалению, на данный момент я до сих пор не знаю, почему аутентификация завершится неудачей с использованием OpenJDK, но использование Oracle не будет. Но это решение может быть полезно для тех, кто использует cassandra на Cubieboard A80.
Вы проверили, что брандмауэр вашего Кассандры сервера не блокирует порты 9042 и 9160? – Brandon
@Brandon, спасибо за ваше предложение, но версия ОС, на которой я запущена на этом новом Cubieboard, даже не установлена ufw. –
Чтобы убедиться, что никакие переменные env или файлы cqlshrc не мешают, попробуйте указать порт в командной строке 'cqlsh 192.168.10.26 9042 -u cassandra -p cassandra' – Brandon