Я использовал драйвер Cassandra CQL для реализации некоторого модуля. Я знаю, что драйвер CQL работает на порту 9042. Мой модуль отлично работает на порту 9042 для серверов cassandra (попробовал как локальные, так и удаленные). Однако из-за некоторых ограничений на порт ЦОД 9042 не открыт для Cassandra. Мне нужно сделать мою работу над этим центром обработки данных.Реализация драйвера Cassandra CQL
Можно ли использовать один и тот же код с портом 9160? Я знаю, что 9160 - это бережливый порт и используется для многих других драйверов для Cassandra. Мне просто интересно, есть ли какой-либо взлом, чтобы заставить драйвер CQL работать на 9160 или изменить код как можно меньше, чтобы он работал на 9160.
В настоящее время, когда я пытаюсь использовать тот же код с портом 9160, он дает следующая ошибка
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: xx.yy.zz.aa (com.datastax.driver.core.ConnectionException: [xx.yy.zz.aa :9160] Unexpected error during transport initialization
(com.datastax.driver.core.ConnectionException: [xx.yy.zz.aa :9160] Operation timed out)), xx.yy.zz.aa :9160
Когда я пытаюсь телнет 9160 порт
telnet xx.yy.zz.aa 9160
Trying xx.yy.zz.aa...
Connected to xx.yy.zz.aa.
Escape character is '^]'.
xyzaaaa
Connection closed by foreign host.
ищет некоторую помощь.
Спасибо Andy за ответ. Я согласен, что если мы это сделаем, мое приложение начнет работать на порту 9160. Но проблема в том, что мы изменим rpc_port от 9160 на какой-то другой порт, тогда существующие приложения, которые уже развернуты и используют старые драйверы cassandra, сломаются, поскольку порт изменится. Любое другое предложение? – learner
К сожалению, вам понадобятся два отдельных порта: один для бережливости, один для родного транспорта (CQL), они не могут использоваться совместно. Вы можете делать CQL над Thrift, но большинство драйверов не поддерживают это, и вы также теряете преимущества для CQL (т. Е. Несколько запросов на соединение), когда делаете это с осторожностью. –
Спасибо Энди. :-) – learner