簡體   English   中英

pymongo atlas 負載均衡器錯誤 ARM 設備

[英]pymongo atlas loadbalancer error ARM device

我從運行 ubuntu 18.04 jetson 版本的 ARM 設備 (Jetson Xavier) 訪問我的在線 mongo 數據庫/集群時收到 LoadBalancerSupportMismatch 錯誤。 該代碼適用於普通的 x86 電腦,並使用 python 3.6 運行(我在普通電腦上使用 3.8)。 我的代碼很簡單。 我匿名了其中的一部分。

self.online_client = MongoClient(
                    f"mongodb+srv://<user>:<passowrd>}@<dbname>.pkphq.mongodb.net/Xcontainers?retryWrites=true&w=majority")
self.cloud_coll = self.online_client[<dbname>][<collection>]
self.cloud_coll.insert_one(some_dict)

我在jetson上遇到的錯誤是:

文件“/usr/local/lib/python3.6/dist-packages/pymongo/collection.py”,第 1319 行,在 find_one 中,結果為 cursor.limit(-1):文件“/usr/local/lib/python3 .6/dist-packages/pymongo/cursor.py”,第 1207 行,在下一個 if len(self.__data) 或 self._refresh():文件“/usr/local/lib/python3.6/dist-packages/ pymongo/cursor.py”,第 1100 行,在 _refresh self.__session = self.__collection.database.client._ensure_session() 文件“/usr/local/lib/python3.6/dist-packages/pymongo/mongo_client.py”中,第 1816 行,在 _ensure_session 中返回 self.__start_session(True, causal_consistency=False) 文件“/usr/local/lib/python3.6/dist-packages/pymongo/mongo_client.py”,第 1766 行,在 __start_session server_session = self. _get_server_session() 文件“/usr/local/lib/python3.6/dist-packages/pymongo/mongo_client.py”,第 1802 行,在 _get_server_session 返回 self._topology.get_server_session() 文件“/usr/local/lib/python3 .6/dist-packages/pymongo/topology.py”,第 499 行,在 get_server_session 無)文件“/u sr/local/lib/python3.6/dist-packages/pymongo/topology.py",第 217 行,在 _select_servers_loop (self._error_message(selector), timeout, self.description)) pymongo.errors.ServerSelectionTimeoutError: 服務器是正在通過負載均衡器訪問,但此驅動程序未啟用負載均衡,完全錯誤:{'ok': 0, 'errmsg': '正在通過負載均衡器訪問服務器,但此驅動程序沒有負載均衡enabled','code':354,'codeName':'LoadBalancerSupportMismatch'},超時:30s,拓撲描述:<TopologyDescription id:61ee9d768a646fd4a74f0849,topology_type:Single,服務器:[<ServerDescription('containers-lb.pkphq.mongodb. net', 27017) server_type: Unknown, rtt: None, error=OperationFailure("正在通過負載均衡器訪問服務器,但此驅動程序未啟用負載均衡,完全錯誤:{'ok': 0, 'errmsg ': '正在通過負載均衡器訪問服務器,但此驅動程序未啟用負載均衡', 'code': 354, 'codeName': 'LoadBalancerSupportMismatch'}",)>]> [INFO] [1643027861.848502]: 沒有 id 來推送測量

我解決問題的小旅程把我帶到了這里,幾乎唯一似乎相關的事情: https://www.mongodb.com/community/forums/t/scala-driver-2-9-0-connection-fails -with-loadbalancersupportmismatch/126525/2 所以看起來 scala 驅動程序不是最新的。 It seems I need to update it using sbt or maven: http://mongodb.github.io/mongo-java-driver/4.3/driver-scala/getting-started/installation/ I set up the hardware quite recently, and it's最新的,所以有點令人費解,為什么驅動程序不是最新的。

查看 sbt 和 maven 的文檔; 讓 pymongo 與 mongo atlas 再次正常工作似乎在最壞的情況下完全不相關,而且在最好的情況下非常復雜。

是否有更好的解決方案可以使負載均衡器問題 go 消失,或者讓我的驅動程序更新?

似乎升級集群有效。 我首先使用了 M0 - M2 集群。 為 M10 支付更多費用以某種方式解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM