我已经安装了Cassandra和apache Thrift。我创建了一个PHP测试页面来测试它。当我运行时,它返回以下错误。
致命错误:在第 15 行的/home/dev001/projects/Thrift/gen-php/cassandraTest.php 中找不到类 'CassandraClient'
当我通过 cassandra-cli 检查 cassandra 时,它显示以下错误。
power@power-desktop:/home/dev001$ cassandra-cli
org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
at org.apache.thrift.transport.TSocket.open(TSocket.java:183)
at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81)
at org.apache.cassandra.cli.CliMain.connect(CliMain.java:79)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:255)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at org.apache.thrift.transport.TSocket.open(TSocket.java:178)
... 3 more
Exception connecting to 127.0.0.1/9160. Reason: Connection refused.
Welcome to Cassandra CLI version 1.1.0~rc1
Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.
[default@unknown]
请告诉我为什么会这样?
似乎您没有让 cassandra 侦听正确的 IP/端口。 运行netstat -an
以查看它是否正在侦听端口 9160。
话虽如此:
- Cassandra 不使用 php
- 带有PHP的Cassandra - 调用cassandra-test.php我得到"调用未定义的方法CassandraClient::batch_insert()"
总之,大众的共识是,你应该尽可能避免使用原始节俭,并使用维护的客户端库之一:哪个PHP客户端库与Cassandra一起使用?
在您的
终端类型中:
# service cassandra start
在使用Cassandra之前。
这将启动 cassandra deamon。 在向 Cassandra 发送命令之前必须运行
我遇到了同样的错误但是当我通过cassandra_installation_dir/bin/cassandra启动Cassandra,然后"cassandra_installation_dir/bin/Cassandra-cli--host 192.168.1.90"时,我能够登录。如果可行,请尝试这种方式。