В настоящее время я участвую в создании API, который использует кластер Cassandra с 3 узлами для хранения данных. Я разрабатывал его на своем локальном компьютере, используя PHP 5.6.17, Cassandra 2.2.3 и Datastax PHP Driver 1.1.0, и все прошло нормально.
Однако мы решили перейти на удаленный кластер Cassandra (3.4 с собственным протоколом 4), и я не могу получить к нему доступ через PHP, так как получаю следующую ошибку: Произошла ошибка: 16777226 - Нет доступных хостов для управляющего соединения сильный>.
Забавно то, что с помощью IP-адреса удаленного кластера и DevCenter мне удалось подключиться к этому кластеру, создать новое пространство ключей (SimpleStrategy, RF: 2), создать новую таблицу и добавить одну строку данных.
Ошибка при создании кода PHP следующая:
$cluster = \Cassandra::cluster()
->withContactPoints('x.x.x.x')
->build();
$keyspace = 'foo';
$session = $cluster->connect($keyspace);
Последняя строка вызывает ошибку. Однако, если я попытаюсь подключиться к локальному кластеру cassandra с помощью $cluster = \Cassandra::cluster()->build();
, это сработает как шарм. Кто-нибудь знает, почему это происходит?