2015-11-24 2 views
1

Я новичок в Cassandra, у меня есть проблема с подключением к нему. Вот деталь:Время соединения Cassandra, вызванное PasswordAuthenticator

  1. Рабочая среда: Cubie доска A80, работает Ubuntu Linaro 14.04 (который является загрузка с http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro)

  2. Cassandra версия: версия 2.1.7 (от http://downloads.datastax.com/community/dsc-cassandra-2.1.7-bin.tar.gz)

  3. описание

    проблемы: После запуска Кассандры, при использовании 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',)})

  4. Самоконтроль: В 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.

+0

Вы проверили, что брандмауэр вашего Кассандры сервера не блокирует порты 9042 и 9160? – Brandon

+0

@Brandon, спасибо за ваше предложение, но версия ОС, на которой я запущена на этом новом Cubieboard, даже не установлена ​​ufw. –

+0

Чтобы убедиться, что никакие переменные env или файлы cqlshrc не мешают, попробуйте указать порт в командной строке 'cqlsh 192.168.10.26 9042 -u cassandra -p cassandra' – Brandon

ответ

0

Набор broadcast_rpc_address для локального IP и попробуйте установить rpc_address в 0.0.0.0

+0

В файле конфигурации говорится: «Если для параметра rpc_address установлено значение 0.0.0.0, необходимо установить параметр broadcast_rpc_address». –

+0

Я знаю - попробуйте прокомментировать broadcast_rpc_address в любом случае. По умолчанию это значение не установлено. – LHWizard

+0

Я пробовал, но cassandra не может запускаться в этом случае: Ошибка фатальной конфигурации; невозможно начать. –

Смежные вопросы