我正在通过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