私は現在、データを保存するために 3 つのノードを持つ Cassandra クラスターを使用する API の作成に携わっています。PHP 5.6.17、Cassandra 2.2.3、および Datastax PHP Driver 1.1.0 を使用して、ローカル マシンで開発していましたが、すべてうまくいきました。
しかし、リモート Cassandra クラスター (ネイティブ プロトコル 4 の 3.4) に移動することにしましたが、次のエラーが発生するため、PHP 経由でアクセスできません: エラーが発生しました: 16777226 - コントロール接続に使用できるホストがありません。
面白いことに、リモート クラスターの IP と DevCenter を使用して、そのクラスターに接続し、新しいキースペース (SimpleStrategy、RF:2) を作成し、新しいテーブルを作成して、1 行のデータを追加することができました。
PHPコードを生成するエラーは次のとおりです。
$cluster = \Cassandra::cluster()
->withContactPoints('x.x.x.x')
->build();
$keyspace = 'foo';
$session = $cluster->connect($keyspace);
最後の行は、エラーを生成する行です。ただし、を使用してローカル cassandra クラスターに接続しようとすると$cluster = \Cassandra::cluster()->build();
、魅力的に機能します。なぜこれが起こっているのか誰にも分かりますか?