python操作mongodb副本集(mongodb高可用)
https://pymongo.readthedocs.io/en/stable/examples/high_availability.html#
pymongo比较”智能“,只要你连接的时候指定副本集中的任意一个或者多个成员都可以连接到整个副本集中的成员。
# 下面这几种方式,都可以!!
# 传递给 MongoClient() 的地址称为种子。
# 只要至少有一个种子在线,**MongoClient 就会发现副本集中的所有成员,并确定哪个是当前的主节点,哪些是辅助节点或仲裁节点**。
# 每个种子必须是单个 mongod 的地址。**不支持多宿主和循环 DNS 地址,这点一定要注意,别傻乎乎自己搞个DNS轮询什么的。**
>>>MongoClient('localhost')
MongoClient(host=['localhost:27017'], ...)
>>>MongoClient('localhost', replicaset='myrs')
MongoClient(host=['localhost:27017'], replicaset='myrs', ...)
>>>MongoClient('localhost:27018', replicaset='myrs')
MongoClient(['localhost:27018'], replicaset='myrs', ...)
>>>MongoClient('localhost', 27019, replicaset='myrs')
MongoClient(['localhost:27019'], replicaset='myrs', ...)
>>>MongoClient('mongodb://localhost:27017,localhost:27018/')
MongoClient(['localhost:27017', 'localhost:27018'], ...)
>>>MongoClient('mongodb://localhost:27017,localhost:27018/?replicaSet=myrs')
MongoClient(['localhost:27017', 'localhost:27018'], replicaset='myrso', ...)
实例: 连接到副本集
import time
import pymongo
if __name__ == '__main__':
# 初始化客户端
# 只指定任意一个节点的
mongo_client = pymongo.MongoClient(
host="127.0.0.1",
port=27017,
)
# 只指定其中2个节点的IP
mongo_client = pymongo.MongoClient(
host=['127.0.0.1:27017', '127.0.0.1:27018'],
)
# 只指定其中2个节点的IP,并且指定副本集的名称
mongo_client = pymongo.MongoClient(
host=['127.0.0.1:27017', '127.0.0.1:27018'],
replicaset='myrs'
)
# 延迟一下,因为MongoClient 构造函数是非阻塞的:
# 当客户端使用后台线程连接到副本集时,构造函数立即返回。
# 请注意,如果您创建客户端并立即打印其 nodes 属性的字符串表示形式,则列表最初可能为空。
# 如果稍等一下,MongoClient 会发现整个副本集:
time.sleep(1)
# 打印所有节点
print(mongo_client.nodes)
# 关闭连接
mongo_client.close()
python操作mongodb副本集(mongodb高可用)的更多相关文章
- 你以为的MongoDB副本集的高可用是真的高可用了吗?
很久没来更新博客,自感是一个只会搬砖的劳工,总搞些MySQL相关的数据库实在无聊,且时不时遇到些不讲道理的Dev吧,真的是心累至极,有种想回头我也去干开发的冲动,当个需求者有话语权要风得风,要雨得雨多 ...
- 四十三.MongoDB副本集 MongoDB文档管理
一.部署MongoDB副本集 1.1 启用副本集配置并指定集群名称 rs1 1.2 定义集群成员列表 部署好机器51,52,53:51上配置 bind_ip=192.168.4.51(要改) port ...
- [ MongoDB ] 副本集的搭建及测试
Replica Sets 复制 (副本集) node1: 10.0.0.10node2: 10.0.0.11node3: 10.0.0.12 副本集结构图:
- MongoDB副本集的原理,搭建
介绍: mongodb副本集即客户端连接到整个副本集,不关心具体哪一台机器是否挂掉.主服务器负责整个副本集的读写,副本集定期同步数据备份,一旦主节点挂掉,副本节点就会选举一个新的主服务器,这一切对于应 ...
- MongoDB 副本集搭建 & 副本集扩容
副本集的搭建 创建多实例目录 [root@redis03 ~]# mkdir /server/mongodb/2801{7,8,9}/{conf,logs,pid,data} -p 编辑多实例配置文件 ...
- mongodb副本集高可用架构
一.简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点. Mongodb Driver(客户端)的所有数据都写入Primary,Sec ...
- NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署
NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MongoDB 是一个基于分布式文件存储的数据库.由 C ...
- 创建mongodb副本集操作实例
一:概念 相关概念及图片引用自这里 mongodb副本集: 副本集是一组服务器,其中一个是主服务器,用于处理客户请求:还有多个备份服务器,用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器自动 ...
- nodejs+mongoose操作mongodb副本集实例
继上一篇设置mongodb副本集之后,开始使用nodejs访问mongodb副本集: 1:创建项目 express 项目名称 2:npm install mongoose 安装mongo ...
- MongoDB副本集(一主一备+仲裁)环境部署-运维操作记录
MongoDB复制集是一个带有故障转移的主从集群.是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复.MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一 ...
随机推荐
- vue + canvas 实现九宮格手势解锁器
前言 专栏分享:vue2源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位 ITer 关注点赞收藏 此篇文章用于记录柏成从零开发一个canvas九宮格手势解锁器的历程,最终效果如 ...
- Go语句与表达式深度解析:全案例手册
关注公众号[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资 ...
- python入门基础(13)--类、对象
面向过程的编程语言,如C语言,所使用的数据和函数之间是没有任何直接联系的,它们之间是通过函数调用提供参数的形式将数据传入函数进行处理. 但可能因为错误的传递参数.错误地修改了数据而导致程序出错,甚至是 ...
- 使用Debian 11基础镜像制作java8镜像
下面是dockerfile内容: FROM debian:bullseye # 切换apt源为清华源,并安装vim ping telnet命令 RUN apt-get update && ...
- 200PLC转以太网与1200PLC实现PUT GET通信
200PLC转以太网与1200PLC实现PUT GET通信 本案例介绍西门子PLC200PLC 224或226,Port0或者是Port1串口通过兴达易控PPI-ETH-XD1.0plc以太网模块,2 ...
- oracle问题:ORA-09817及解决办法
某天以管理员身份登录公司测试库报ORA-09817错误,查了网上的文章说是审计文件没有存储空间造成的.我的这问题也证实了这一点,现将解决步骤分享: 1.发现问题:报ORA-09817 oracle@l ...
- 关于如何解决visualc++6.0打开文件闪退的一种方式(附带解决输入法无法显示)
这里我把VisualC++6.0安装程序和filetool分享在我的网盘里面了 网盘下载QAQ 链接:https://pan.baidu.com/s/1azSMX_cOKgb64WT7-gTdbQ?p ...
- 我们又组织了一次欧洲最大开源社区活动,Hugging Face 博客欢迎社区成员发帖、Hugging Chat 功能更新!
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- 2.MongoDB Sharding Cluster分片集群
分片集群-规划 10个实例:38017-38026 (1)configserver:38018-38020 3台构成的复制集(1主两从,不支持arbiter)38018-38020(复制集名字conf ...
- PolygonCollider2D.OverlapPoint()在小scale下失效的一种解决办法
偶然发现PolygonCollider2D的方法OverlapPoint()有时会失效(一直返回false),测试后发现在scale(这里指世界空间的scale,后同)很小的情况下(通常在UI Can ...