Docker mongo副本集环境搭建

1、MongoDB Docker 镜像安装

docker pull mongo

2、Docker容器创建

MongoDB Docker 容器创建有以下几个问题:
1- MongoDB 容器基本创建方法和数据目录挂载
2- MongoDB 容器的数据迁移
3- MongoDB 设置登录权限问题

docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name docker_mongodb -d mongo --replSet "rs"

3、副本集配置

config = { _id:"rs", members:[
     {_id:0,host:"192.168.1.136:27017"},
     {_id:1,host:"192.168.1.137:27017"},
     {_id:2,host:"192.168.1.138:27017"}]
 }
rs.initiate(config);

3、正确连接复制集的姿势

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 前缀,代表这是一个Connection String
username:[email protected] 如果启用了鉴权,需要指定用户密码
hostX:portX 复制集成员的ip:port信息,多个成员以逗号分割
/database 鉴权时,用户帐号所属的数据库
?options 指定额外的连接选项

4、常用连接参数

如何实现读写分离?
在options里添加readPreference=secondaryPreferred即可实现,读请求优先到Secondary节点,从而实现读写分离的功能

如何限制连接数?
在options里添加maxPoolSize=xx即可将客户端连接池限制在xx以内。

如何保证数据写入到大多数节点后才返回?
在options里添加w= majority即可保证写请求成功写入大多数节点才向客户端确认

原文地址:https://blog.51cto.com/f1yinsky/2382925

时间: 2024-08-29 12:34:00

Docker mongo副本集环境搭建的相关文章

我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建详细过程

我们的 mongo 副本集有三台 mongo 服务器:一台主库两台从库.主库进行写操作,两台从库进行读操作(至于某次读操作究竟路由给了哪台,仲裁决定),实现了读写分离.这还不止,如果主库宕掉,还能实现不需要用户干预的情况下,将主库自动切换到另外两台从库中的某一台,真正实现了 db 的高可用. 1. 背景 1.1 环境 CPU核数:4 内存配置:8G 带宽:100MB 磁盘:系统盘 40G,数据盘 180G 操作系统版本:Ubuntu 14.04 64位 1.2 系统部署结构图 2. MongoD

docker mongo 副本集配置(1)

1.生成证书 非docker环境 (当前目录在data) cd  /data/ mkdir core cd core //生成keyfile openssl rand -base64 741 > mongodb-keyfile chmod 600 mongodb-keyfile mongod.conf中添加(注意json的格式) 1 security: 2 keyFile: "/data/core/mongodb-keyfile" 3 replication: 4 replSet

mongo副本集原理,搭建

#进入mongo mongo   默认端口27017启动的mongo服务,直接进入 mongo --port=27027   指定端口27027启动mongo服务,需加端口号启动 mongo 103.56.195.5:27017   登录指定主机的mongo服务,可以以此测试对端防火墙是否放通,mongo服务器端口 #mongo副本集启动参数: [[email protected] db]# ps aux |grep mongo root     112542  0.7  0.1 1058417

mongo 副本集+密码认证

Jdk8部署 文档说明 编写目的 本文档编写目的是为了安装mongo和Mongodb用户认证 适用范围 本文档完成后 适用Mongodb3.0以上版本适用 配置准备 Mongodb 3.4 服务器准备 本文档中操作是对内网1台服务器部署,操作系统使用的是CentOS release 6.5 (Final). 各个节点及描述如下表所示: 节点 IP 描述 服务器 192.168.21.212/24 安装mongodb 软件准备 本文档安装的大多数软件使用源代码编译安装,主要用的文件有如下: Mon

mongo副本集mongos启动报错

背景 项目采用mongo副本集的形式存储数据,经常出现无故断电导致某个副本mongos启动不起来的问题. 环境介绍 mongodb副本集:mongo01:192.168.36.218mongo02:192.168.36.219mongo03:192.168.36.220 报错信息 mongo03副本上mongos启动不起来,执行命令报错: [[email protected] ~]# mongos --configdb 192.168.36.218:20000,192.168.36.219:20

mongo副本集搭建及服务器复用方案

比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲裁节点的作用是为客户端指明连接方向(选择主还是选择从),主节点存活时连接主节点,主节点挂掉时连接从节点. 但上述方案有一个弊端,当仲裁节点挂掉以后,整个集群同样面临挂掉的危险. 第二种方案:一个主节点,两个从节点.从节点都定期去主节点获取更新日志.当主节点挂掉以后,会按优先级在两个从节点中选取一个当

mongo副本集搭建

任意一台:>use admin >cfg={ _id:"mongo-repl", members:[ {_id:0,host:'192.168.32.101:27017',priority:2}, {_id:1,host:'192.168.32.102:27017',priority:1}, {_id:2,host:'192.168.32.101:27018',arbiterOnly:true}]} 初始化副本集:rs.initiate(cfg) 需要做主库上操作:use

mongoDB的读书笔记(04)_【Replica】(05)_初探Replica set副本集的搭建 By Test模式

Replica set Deployment On Test Mode 为啥是测试模式 实战 先絮叨絮叨操作系统 在一台机器上创建模拟5个节点 进入非db连接模式 建立5个节点的test script 启动所有的节点 配置节点 进入一个节点 配置Replica的config 进行初始化 check心跳和log 查看Replia的详细 查看Secondary Replia的详细 写数据实验 Primary写入 Secondary查看 Replica set Deployment On Test M

MongoDB副本集的搭建

参考博文:https://www.jianshu.com/p/ca620842868a 一.安装准备1.修改系统配置#关闭selinux.firewall#修改/etc/security/limits.conf添加以下内容: soft nofile 65536 hard nofile 65536 soft nproc 65536 hard nproc 65536 #修改/etc/security/limits.d/20-nproc.conf soft nproc 655363.创建账户.目录gr