如何在 Mesos 上的 Spark 中修复来自 Google Protobuf 的"A protocol message was rejected because it was too big"?



我正在通过Scala代码运行Spark 1.5.1,并调用ALS训练方法(mllib)。我的代码使用MESOS执行器。由于数据很大,我得到以下错误:

03年11月15日12:53:45信息任务集管理器:在0.0阶段启动任务7.0(TID 7,PROCESS_LOCAL,128730328字节)[libprotobuf ERRORgoogle/protobuf/io/coded_stream.cc:171]协议消息由于太大(超过67108864字节)而被拒绝。到增加限制(或禁用这些警告),请参阅中的CodedInputStream::SetTotalBytesLimit()google/protobuf/io/coded_stream.h

关于如何提高限额有什么想法吗?

听起来像是达到了"spark.kryoserializer.buffer.max"的极限。检查protobuf是否正在使用kryo序列化程序。如果是,您需要突破"spark.kryoserializer.buffer.max"的限制,该限制可以设置为2047米。

http://spark.apache.org/docs/1.5.1/configuration.html

相关内容

最新更新