在编写spark程序的过程中,如果以masterlocal的方式是可以正常搞定的,然而如果将master设置为spark集群的方式则总是报各种错,通过源码查看,主要是AKKA通信与序列化之 在编写spark程序的
在编写spark程序的过程中,如果以master=local的方式是可以正常搞定的,然而如果将master设置为spark集群的方式则总是报各种错,通过源码查看,主要是AKKA通信与序列化之间的问题,而其核心原因是scala版本不匹配的问题。默认从apache官网下载的BIN包只支持2.10的,而2.11版本的还需要自己搞定。
看了官网说明,主要有两种编译方式,一种是MVN,另一种SBT。
首先试了下MVN,多试了几下,总是在MQTT 流编译那块卡壳,没有办法,只好测试SBT。
输入:build/sbt -Dscala=2.11 -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver assembly,经过漫长的等待,不过最终还是成功了。最好还是重新编译,顺便把这个HIVE的问题也解决了。以前采用没编译的版本也经常出现HIVE的各种错误。