org.apache.storm.thrift.transport.TTransportException

Exception in thread "main" java.lang.RuntimeException: org.apache.storm.thrift.transport.TTransportException
at org.apache.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:256)
at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:311)
at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:157)
at com.yiguan.topology.RtAppTopology.run(RtAppTopology.java:93)
at com.yiguan.topology.RtStart.control(RtStart.java:34)
at com.yiguan.topology.RtStart.main(RtStart.java:18)
Caused by: org.apache.storm.thrift.transport.TTransportException
at org.apache.storm.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.storm.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.storm.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129)
at org.apache.storm.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
at org.apache.storm.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.storm.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at org.apache.storm.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at org.apache.storm.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.storm.thrift.TServiceClient.receiveBase(TServiceClient.java:77)
at org.apache.storm.generated.Nimbus$Client.recv_submitTopology(Nimbus.java:294)
at org.apache.storm.generated.Nimbus$Client.submitTopology(Nimbus.java:278)
at org.apache.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:244)

... 5 more


或者:

org.apache.thrift.transport.TTransportException: Frame size (17302738) larger than max length (16384000)



 这个问题的原因是序列化后的topology对象过大导致的,通常可能是你在spout/bolt中创建了一个大对象(比如bitmap, 大数组等),导致序列化后对象的大小超过了thrift的max frame size(thrift中16384000这个值是写死的,只能调小不能调大)。在JStorm中,如果需要在spout/bolt中创建大对象,建议是在open/prepare方法中来做,延迟对象的创建时间。参见: https://github.com/alibaba/jstorm/issues/230


在提交topology到集群之前是不能做大量数据加载。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
org.apache.thrift.transport.TTransportException是一个异常,它表示在使用Apache Thrift传输时发生了问题。这个异常通常是由于网络连接问题引起的。在引用和引用中,都提到了这个异常。其中,引用中的错误信息显示了一个SocketTimeoutException,这意味着在读取数据时发生了超时。而引用中的错误信息显示了一个GSS initiate failed异常,这可能是由于在与Kerberos进行身份验证时出现了问题导致的。 在处理这个异常时,可能还会遇到其他异常被抑制的情况。在引用中,提到了一个被抑制的SQLException异常,它发生在清理服务器资源时出错。 要解决org.apache.thrift.transport.TTransportException异常,可以考虑以下几个步骤: 1. 检查网络连接是否正常。确保网络连接稳定,并且没有任何阻塞或超时问题。 2. 检查Kerberos配置是否正确。确保在与Hive进行连接时,Kerberos身份验证过程能够正常进行。 3. 检查服务器资源清理过程是否出错。如果在关闭Hive连接时出现异常,可能需要检查关闭过程中是否有任何资源未正确释放。 以上是解决org.apache.thrift.transport.TTransportException异常的一些建议。具体的解决方法可能还需要根据具体情况进行调查和调试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [线上问题排查系列-org.apache.thrift.transport.TTransportException:java.net.SocketTimeoutExceptio](https://blog.csdn.net/MichaelLi916/article/details/119458931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [org.apache.thrift.transport.TTransportException: GSS initiate failed](https://blog.csdn.net/m0_37759590/article/details/131488324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_小海_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值