exception - Storm dprc thrift7.transport.TTransportException : Frame size (1213486160) larger than max length (1048576)!

标签 exception thrift apache-storm

我使用 storm 0.10.0 部署 DRPCTopology 到 storm 集群,但是有 TTransportException

代码是:

DRPCClient client = new DRPCClient(map, "10.10.5.92", 3774, 5000);
System.out.println(client.execute("match-drpc", "cat"));

错误是:

Exception in thread "main" org.apache.thrift7.transport.TTransportException: Frame size (1213486160) larger than max length (1048576)!
    at org.apache.thrift7.transport.TFramedTransport.readFrame(TFramedTransport.java:137)
    at org.apache.thrift7.transport.TFramedTransport.read(TFramedTransport.java:101)
    at org.apache.thrift7.transport.TTransport.readAll(TTransport.java:86)
    at org.apache.thrift7.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
    at org.apache.thrift7.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
    at org.apache.thrift7.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
    at org.apache.thrift7.TServiceClient.receiveBase(TServiceClient.java:69)
    at backtype.storm.generated.DistributedRPC$Client.recv_execute(DistributedRPC.java:106)
    at backtype.storm.generated.DistributedRPC$Client.execute(DistributedRPC.java:92)
    at backtype.storm.utils.DRPCClient.execute(DRPCClient.java:59)

最佳答案

1213486160 不是实际的数据包长度。它是解释为 32 位大端整数的 ASCII“HTTP”。您的“DRPCClient”没有使用您期望的协议(protocol),而是一个网络服务器。

关于exception - Storm dprc thrift7.transport.TTransportException : Frame size (1213486160) larger than max length (1048576)!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280763/

相关文章:

C++ 异常处理指南

java - solr - java 堆空间内存不足

python - python 中的 Thrift,简单示例的客户端无法连接到 Ubuntu 14.04 LTS 上的本地主机

thrift - 你如何在 Thrift IDL 中说客户端应该在结构中包含一组字段中的一个?

runtime - 在浏览器上显示 Storm 集群 bolt 的结果

c# - 如何检查是否已抛出任何异常?

c++ - <regex> std::regex 相当于 Qt 的 QRegularExpression::isValid() 且不会触发异常

python - 通过 Thrift 返回 Python 字典时如何处理 "Null"值?

Python Storm /web.py : Correctly handling DisconnectionError with MySQL database

java - 在 Apache Storm bolt 中使用 Apache Camel ProducerTemplate