首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra在繁重的插入工作负载下重置连接

Cassandra在繁重的插入工作负载下重置连接
EN

Stack Overflow用户
提问于 2012-07-12 08:31:33
回答 1查看 2.6K关注 0票数 4

我有一个包含8个节点的cassandra集群,cassandra 1.0.8。

我正在尝试使用batch_mutate()在循环中执行大量的小插入操作。在一段时间(大约200K插入)后,服务器重置连接,但出现以下异常:

代码语言:javascript
复制
org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection reset
at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:147)
at org.apache.thrift.transport.TFramedTransport.flush(TFramedTransport.java:157)
at org.apache.cassandra.thrift.Cassandra$Client.send_batch_mutate(Cassandra.java:998)
at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:986)
at org.scale7.cassandra.pelops.Mutator$1.execute(Mutator.java:46)
at org.scale7.cassandra.pelops.Mutator$1.execute(Mutator.java:42)
at org.scale7.cassandra.pelops.Operand.tryOperation(Operand.java:56)
at org.scale7.cassandra.pelops.Mutator.execute(Mutator.java:51)
    ...
    Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145)
... 25 more

除此之外,集群工作得很好。服务器日志是干净的。

可能导致此问题的原因是什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 21:08:10

我已经找到了原因:批量突变大小超过了TFramedTransport的帧大小。可能有两种可能的解决方案:在cassandra.yaml中增加"thrift_framed_transport_size_in_mb“配置属性,或者使用较小的批处理大小。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11443519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档