无法使用php使用cassandra创建键空间

qzwqbdag  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(899)

我不能用php在docker containor下运行的cassandra上创建键空间。连接似乎是好的,但我没有创造。当我跑的时候 DESCRIBE keyspaces; 默认情况下,我只创建了键空间。
我在用 thobbs/phpcassa 捆绑连接php和cassandra。我认为问题似乎是登录和密码。
在这个包裹里,我没有找到我放它们的地方。当我连接到cassandra容器时,我可以通过以下命令进行连接 cqlsh -u cassandra -p cassandra 172.24.0.1 9042 下面是我在index.php上的代码

<?php

require 'vendor/autoload.php';

use phpcassa\ColumnFamily;
use phpcassa\ColumnSlice;
use phpcassa\Connection\ConnectionPool;

$servers = array("172.24.0.1:9042");
$pool = new ConnectionPool("Keyspace2", $servers);

$column_family = new ColumnFamily($pool, 'ColumnFamily1');

我可以把我的登录名和密码放在哪里?

wztqucjr

wztqucjr1#

请不要使用 thobbs/phpcassa -它非常古老,而且在引擎盖下使用传统的节俭协议。。。正确的方法是使用cassandra,现在是使用datastax的php驱动程序。这里完全支持身份验证(doc),如下所示:

$cluster = Cassandra::cluster()
               ->withCredentials("username", "password")
               ->build();
$session = $cluster->connect();

在你得到 $session ,您可以使用 execute 函数来执行cql语句,如create keyspace和create table,如下所示:

$session->execute('CREATE TABLE ...')

我建议学习cql(cassandra查询语言),它很早以前就取代了节俭。好的资源是“Cassandra”。权威指南-它的第三版是最近发布的,可从datastax网站免费获得。

相关问题