最近在单机情况下,发现spark在读取MongoDB进行计算的时候,MongoDB游标老是超时。网上看了下解决方案。
1.设置MongoDB的游标超时时间,但是貌似时间设置过长,会导致oom的情况发生。
2.读取MongoDB之后马上cache rdd,然后action存入本地内存。但是发现还是会执行时间过长,没等count操作执行完,就报游标not found。我猜测是不是因为启动的时候几个task已经连接MongoDB,游标一直占用,再次使用的时候,已经超过10分钟,然后直接超时了?
不知道如何解决。。。?