gpt4 book ai didi

cassandra - org.apache.thrift.transport.TTransportException : Cannot read. 远程端已关闭

转载 作者:行者123 更新时间:2023-12-03 08:11:20 28 4
gpt4 key购买 nike

我是使用 astyanax 连接到 cassandra(1.2.8)的新手。
我从 [https://github.com/Netflix/astyanax] 下载了 astyanax,从 [http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.8/apache-cassandra- 下载了 cassandra- 1.2.8-bin.tar.gz]。一切都是根据指​​令安装/构建的,并保留默认设置(如 conf/cassandra.yaml)。现在我尝试运行示例代码 [https://github.com/Netflix/astyanax/blob/master/astyanax-examples/src/main/java/com/netflix/astyanax/examples/AstCQLClient.java],以及恶心的错误一直困扰着我(在 eclipse 中显示):

Caused by: com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException: PoolTimeoutException: [host=127.0.0.1(127.0.0.1):9160, latency=5021(5021), attempts=1]Timed out waiting for connection



当我启用 cassandra Debug模式时,终端上显示以下内容:

DEBUG 17:06:48,968 Thrift transport error occurred during processing of message. org.apache.thrift.transport.TTransportException: Cannot read. Remote side has closed. Tried to read 4 bytes, but only got 0 bytes. (This is often indicative of an internal error on the server side. Please check your server logs.) at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378) at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:22) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724)



只是强调一下,我没有更改 cassandra.yaml 中的任何内容(实际上我不知道它们是什么意思);来自 astyanax 和来自 cassandra-1.2.8 的所有库都导入到 java 项目中。
我想问题是由于当我尝试刷新帧转换时连接将关闭......我是数据库的菜鸟。我非常感谢所有的帮助!

附:我在等待 stackoverflow。如果有任何需要查看的日志(也请给我找到它的目录。我是菜鸟>_<),直接说,我会去取。非常感谢!!

最佳答案

尽管这是一个老问题,我不确定我的建议是否对任何人有帮助,但我遇到了同样的错误,这是我解决的方法。希望这能帮助另一个可怜的灵魂。

我看到了同样的错误“无法读取远程端已关闭”,但我使用的是 csharp、Apache.Cassandra 命名空间和 Thrift.dll。

以下是一个工作片段,

    TSocket socket = null;
TTransport transport = null;

socket = new TSocket("localhost", 9160);


transport = new TFramedTransport(socket);
TProtocol protocol = new TBinaryProtocol(transport);
CassandraClient cassandraClient = new CassandraClient(protocol);
cassandraClient.InputProtocol.Transport.Open();

诀窍是使用 cassandraClient.InputProtocol.Transport.Open();而不是 transport.open()

关于cassandra - org.apache.thrift.transport.TTransportException : Cannot read. 远程端已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244493/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com