再次吐槽,spark的文档对初学者真的非常不友好。
同时下面的错误大概率也是可以解决掉的。
java.io.IOException: 远程主机强迫关闭了一个现有的连接
问题描述
在本地idea执行spark streaming相关代码时,
setMaster为“local[2]”时,我是可以正常执行的,但是当我在 StandAlone 模式下启动本地集群的 setMaster 时,就会出现这个错误。
然后我分别根据不同的搜索结果,设置jars等,甚至看到官网关于此问题的两个issue
https://issues.apache.org/jira/browse/SPARK-9219
https://issues.apache.org/jira/browse/SPARK-18075
然而spark的开发者根本不认为这个是一个错误,只认为summit才是唯一支持的集群执行方式。
原因和解决
后来我发现jar包非常大,大概10M,但功能代码其实只有一个demo,不应该这么大。
于是认为,jar包的打包方式是有问题的,是需要assembly方式打包才行,更换方式打包后只有10k。
具体的使用方式参考: