phpcassa 连接服务器失败
Posted
技术标签:
【中文标题】phpcassa 连接服务器失败【英文标题】:phpcassa fail connect to server 【发布时间】:2011-07-11 11:10:29 【问题描述】:我在ubuntu上安装cassandra,在conf文件中设置
listen_address:200.166.107.170
rpc_address:213.186.117.170
rpc_port:9160
然后我尝试从其他机器运行这个 php 代码
CassandraConn::add_node('200.166.107.170', 9160);
$users = new CassandraCF('Keyspace1', 'Users');
$users->insert('1', array('email' => 'hoan.tonthat@gmail.com', 'password' => 'test'));
结果就是这样
致命错误: 在 C:\inetpub\wwwroot\phpcassa.php:85 中未捕获异常 'Exception' 并带有消息 'Could not connect to a cassandra server' 堆栈跟踪:#0 C:\ inetpub\wwwroot\phpcassa.php(283): CassandraConn::get_client() #1 C:\inetpub\wwwroot\cassandra_test.php(31): CassandraCF->insert('1', Array) #2 main 抛出在第 85 行的 C:\inetpub\wwwroot\phpcassa.php 中
此错误的原因可能是什么?谢谢
【问题讨论】:
【参考方案1】:确保您使用的是 thobbs 分发的 PHPCassa 版本:
https://github.com/thobbs/phpcassa 入门教程:http://thobbs.github.com/phpcassa/tutorial.html来自教程:
$servers = array("192.168.2.1:9160");
$pool = new ConnectionPool("Keyspace1", $servers);
$column_family = new ColumnFamily($pool, 'ColumnFamily1');
如果失败了,您使用的是哪个版本的 Apache Cassandra?
** 更新**
原来您正在尝试连接到 LISTEN_ADDRESS 上的 Cassandra,而不是 RPC_ADDRESS。 213.186.117.170:9160 将是您应该连接的一个,而不是用于 cassandra - cassandra 通信的另一个。
【讨论】:
Cassandra 0.8.1版,phpcassa下载自github.com/hoan/phpcassa 对,该版本不适用于 Cassandra 0.8.1 ...按照我上面的说明进行操作.. 我试试,同样的问题,cassandra-cli 连接成功 好的,设置监听地址 127.0.0.1 并尝试连接到 rpc 地址,但同样的错误 netstat -an ... 9160 在什么 ip 上?带有 phpcassa 的网络服务器在什么 ip 上?以上是关于phpcassa 连接服务器失败的主要内容,如果未能解决你的问题,请参考以下文章