Spark连接Mongos报错:com.mongodb.MongoCursorNotFoundException: Query failed with error code -5

SparkSession spark = SparkSession.builder()
    .config("spark.mongodb.input.uri", URI)
    .config("spark.mongodb.output.uri", URI)
    .getOrCreate();

经查,在URI里面直接写域名是不对的,把要用到的集群入口的全部机器的Host都写上就没有问题了。

通过域名来分配机器,假如在A机器里面执行了一个Query操作,后续取数据的时候又给它分配个B机器,B机器都没有执行这个操作,肯定就取不到数据了。

String URI = "mongodb://mongosDomainName:27017/test.myCollection";

把机器都放在那里,让Spark自己管理。

String URI = "mongodb://192.168.0.1,192.168.0.2,192.168.0.3:27017/test.myCollection";
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容