我使用 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/