2016-04-06 16 views
1

Ich bin derzeit an der Erstellung einer API beteiligt, die einen Cassandra-Cluster mit 3 Knoten zum Speichern von Daten verwendet. Ich entwickelte es auf meinem lokalen Rechner mit PHP 5.6.17, Cassandra 2.2.3 und dem Datastax PHP Driver 1.1.0 und alles lief gut.Verbindung zum Remote-Cassandra-Cluster mit Datastax PHP-Treiber nicht möglich

Wir haben uns jedoch entschieden, zu einem Remote-Cassandra-Cluster (3.4 mit nativem Protokoll 4) zu wechseln, und ich kann nicht über PHP darauf zugreifen, da ich den folgenden Fehler erhalte: Ein Fehler ist aufgetreten: 16777226 - Keine Hosts für die Steuerverbindung verfügbar.

Die lustige Sache ist, dass mithilfe der Remote-Cluster-IP und mit dem DevCenter, ich eine Verbindung zu diesem Cluster, einen neuen Schlüsselbereich (SimpleStrategy, RF: 2) erstellen, erstellen Sie eine neue Tabelle und fügen Sie eine Reihe von Daten.

Der Fehlercode PHP Herstellung ist die folgende:

$cluster = \Cassandra::cluster() ->withContactPoints('x.x.x.x') ->build(); $keyspace = 'foo'; $session = $cluster->connect($keyspace);

Die letzte Zeile diejenige ist, um den Fehler zu erzeugen. Wenn ich jedoch versuche, eine Verbindung zum lokalen Cassandra-Cluster unter Verwendung von $cluster = \Cassandra::cluster()->build(); herzustellen, funktioniert es wie ein Zauber. Hat jemand eine Idee, warum das passiert?

+0

ich, dass die [offizielle PHP-Treiber] (https: //github.com/datastax/php-driver) für Cassandra unterstützt Cassandra 3.x nicht. Ich werde versuchen herauszufinden, ob jemand dieses Repo gegabelt hat und versuchte, es zu reparieren. Es wird sehr geschätzt, wenn jemand mehr darüber weiß. – Karvounis

Antwort

0

versuchen, diese Lösung

Add "-> withPort (port_number)" default ist 9042 OR überprüfen Firewall den Zugriff auf Host-Maschine blockiert