gpt4 book ai didi

python - 使用Spark-MongoDB连接器时连接池已关闭

转载 作者:行者123 更新时间:2023-12-02 19:14:36 26 4
gpt4 key购买 nike

当我尝试使用Mmngo-spark connector_2.11:2.2.7从mongoDB读取数据时遇到错误。

在初始化spark上下文mongodb接受连接之后,就在我尝试从中读取集合并得到以下信息之后:

INFO MongoClientCache: Closing MongoClient: [localhost:27017]
INFO connection: Closed connection [connectionId{localValue:2,
serverValue:17}] to localhost:27017 because the pool has been closed.

MongoDB容器输出:
I NETWORK  [initandlisten] connection accepted from 172.18.0.1:65513 #6 
(2 connections now open)
I NETWORK [initandlisten] connection accepted from 172.18.0.1:65515 #7
(3 connections now open) I NETWORK [conn7] end connection
172.18.0.1:65515 (2 connections now open) I NETWORK [conn6] end
connection 172.18.0.1:65513 (1 connection now open)

mongoDB,Spark master和worker的所有组件都是Docker中的容器(必要的端口已暴露,我可以使用shell连接到所有端口)。

所以我真的不知道怎么了

我有一个运行中的Spark集群,其中有一个主服务器和一个工作器,所有节点都具有将spark连接到mongoDB的必要依赖关系

 MongoDBsession = SparkSession \
.builder \
.appName("MongoDB Export to Hive") \
.master("spark://localhost:7077") \
.config("spark.mongodb.input.uri", "mongodb://localhost:27017/db_name.collection_name?readPreference=primaryPreferred") \
.config("spark.mongodb.input.partitioner","MongoSamplePartitioner") \
.config("spark.jars.packages", "org.mongodb.spark:mongo-spark-connector_2.11:2.2.7") \
.getOrCreate()


df_mongoDB_messageLogs = MongoDBsession.read \
.format("mongo") \
.option("database","db_name") \
.option("collection","collection_name") \
.load()

更新:

仅在将spark应用程序提交到spark-cluster(localhost:7077)时才会发生这种情况。
如果我使用master = local运行spark-submit,则从mongoDB读取数据没有问题。有任何想法吗 ?

最佳答案

好的,最后甚至不是mongodb或spark的错误。这只是一个 docker 的事情。我无法使用localhost访问mongodb。

关于python - 使用Spark-MongoDB连接器时连接池已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57316785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com