Я установил Apache Cassandra на удаленном сервере Ubuntu. Как разрешить удаленный доступ к базе данных Apache Cassandra? И как сделать соединение?
Удаленный доступ Apache Cassandra
Ответ 1
Удаленный доступ к Cassandra осуществляется через его бережливый порт (хотя обратите внимание, что порт JMX можно использовать для выполнения некоторых ограниченных операций).
Порт бережливости определяется в cassandra.yaml
параметром rpc_port
, который по умолчанию равен 9160. Ваша cassandra node должна быть привязана к IP-адресу сетевой карты вашего сервера - это не должно быть 127.0.0.1
или localhost
, который является IP-интерфейсом loopback, привязка к нему предотвратит прямой удаленный доступ. Вы настраиваете связанный адрес с параметром rpc_address
в cassandra.yaml. Установка этого параметра на 0.0.0.0
означает "прослушивать все сетевые интерфейсы", которые могут или не подходят для вас.
Чтобы установить соединение, вы можете использовать:
- cassandra-cli в каталоге дистрибутива cassandra предоставляет простые операции get/set/list и зависит от Java
- Оболочка cqlsh, которая предоставляет CQL-доступ к cassandra, зависит от Python
- Интерфейс более высокого уровня, такой как Apollo
Ответ 2
Для всех, кто использует Azure, проблема может заключаться в том, что вам нужно создать публичный IP-адрес, поскольку виртуальный ip указывает на облачный сервис, а не на виртуальную машину. Вы можете найти более подробную информацию в этом сообщении
Ответ 3
Для тех, кто сейчас находит этот вопрос, верхний ответ устарел.
Интерфейс ассемблера Apache Cassandra устарел и будет удален в Cassandra 4.0. Порт клиента по умолчанию - 9042.
Как отметил Тайлер Хоббс, вам нужно убедиться, что параметр rpc_address не установлен на 127.0.0.1 или localhost (по умолчанию это localhost). Если вы установите его на 0.0.0.0
для прослушивания на всех интерфейсах, вам также нужно будет установить broadcast_rpc_address либо в node общедоступный или закрытый IP-адрес (в зависимости от того, как вы планируете подключиться к Cassandra)
Кассандра-кли также устарел, и Аполлон больше не активен. Используйте cqlsh вместо cassandra-cli и Java-драйвер вместо Аполлона.
Я не рекомендую удалять порт JMX удаленно, если вы не защитите его, включив SSL и прочную аутентификацию.
Надеюсь, что это будет полезно.