mongodb之master/slave模式

### mongodb的主从配置(不带auth认证)

### 注意事项:

- 服务器节点之前时间要同步

- 开启防火墙的一定要允许通过相关端口

- 开启selinux的也要进行设置

- 建立双击互信模式最好不过

### master配置文件

  • - 添加了master = true 这一行即可
  • - 多网卡机器bind_ip这一行尽可能写成一个具体地址(最好写内网地址),因为slave上是根据这个同步的
[[email protected] ~]# sed -e ‘/^#/d;/^$/d‘ /etc/mongodb.conf
bind_ip = 192.168.58.10 
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath =/mongo/data
journal = true
master = true
nohttpinterface = true
[[email protected] ~]#

### slave配置文件

  • 添加了以下两行

- slave = true

- source = 192.168.58.10:27017

[[email protected] ~]# sed -e ‘/^#/d;/^$/d‘ /etc/mongodb.conf
bind_ip = 192.168.58.30
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath =/var/lib/mongodb
journal = true
nohttpinterface = true
slave = true
source = 192.168.58.10:27017
[[email protected] ~]#

### 重启两节点的mongodb服务进行初始化操作并验证数据同步情况

  • master
[[email protected] ~]# 
[[email protected] ~]# hostname
blog.unix178.com
[[email protected] ~]# mongo
MongoDB shell version: 2.4.6
connecting to: test
> show dbs
admin0.203125GB
local10.0732421875GB
test0.203125GB
zhuima0.203125GB
>
  • slave
[[email protected] ~]# hostname
redis.unix178.com
[[email protected] ~]# mongo
MongoDB shell version: 2.4.6
connecting to: test
> show dbs
admin0.203125GB
local0.078125GB
zhuima0.203125GB
>

### 查看同步情况

  • master服务器上
[[email protected] ~]# mongo 192.168.58.30
MongoDB shell version: 2.4.6
connecting to: 192.168.58.30/test
> show dbs
admin0.203125GB
local0.078125GB
nick0.203125GB
test0.203125GB
zhuima0.203125GB
>
  • slave服务器上
[[email protected] ~]# mongo 192.168.58.10
MongoDB shell version: 2.4.6
connecting to: 192.168.58.10/test
> show dbs;
admin0.203125GB
local10.0732421875GB
nick0.203125GB
test0.203125GB
zhuima0.203125GB
>

### 添加新的数据进行验证

  • master上添加数据
[[email protected] ~]# mongo 192.168.58.10
MongoDB shell version: 2.4.6
connecting to: 192.168.58.10/test
> show dbs;
admin0.203125GB
local10.0732421875GB
nick0.203125GB
test0.203125GB
zhuima0.203125GB
> use nick
switched to db nick
> use newdb
switched to db newdb
> db.newdb.insert({new:"yes",info:"nothing"})
> show collections
newdb
system.indexes
> db.newdb.find()
{ "_id" : ObjectId("53cbd4b35974b01658718b2d"), "new" : "yes", "info" : "nothing" }
>
  • slave上验证
[[email protected] ~]# mongo 192.168.58.30
MongoDB shell version: 2.4.6
connecting to: 192.168.58.30/test
> show dbs
admin0.203125GB
local0.078125GB
nick0.203125GB
test0.203125GB
zhuima0.203125GB
> show dbs
admin0.203125GB
local0.078125GB
newdb0.203125GB
nick0.203125GB
test0.203125GB
zhuima0.203125GB
> use newdb
switched to db newdb
> show collections
newdb
system.indexes
> db.newdb.find()
{ "_id" : ObjectId("53cbd4b35974b01658718b2d"), "new" : "yes", "info" : "nothing" }
>

### 后记

  • mongodb官方已经不再推荐使用master/salve模式的结构
  • 官方推荐使用replica_set复制集模式
  • 仅供参考
时间: 2024-10-17 05:33:30

mongodb之master/slave模式的相关文章

mongodb之master/slave模式 + auth

## 主从带认证: 主服务器和从服务器必须开启安全认证:--auth, 主服务器和从服务器的admin数据库中必须有全局用户, 然后主服务器的local数据库和从服务器的local数据均有名为repl且密码相同的用户名. 注:local:本地数据库 这个数据库不会同步,主要存放同步的信息.在MongoDB2.0.2版本测试时,从服务器的admin数据库中没有全局用户时也能进行复制(Deven:我们就是采用这个方式, 从服务器admin数据库没有建立用户),尽管admin中无用户,客户端连接此服务

k8s版jenkins中master/slave模式

k8s环境: master 192.168.0.91 node 192.168.0.92 下面所有操作都是在node:192.168.0.92上进行 生成自定义Jenkins master镜像 原始的Jenkins master镜像并不符合我们当前需求,所以在原始镜像的基础上做了一些改变,这一步并不是必须的,主要是看具体需求 下载原始镜像 链接:https://pan.baidu.com/s/14z5BnFAXYoMnDoXbiNgmuQ 提取码:ecsq 导入镜像 docker load <

jenkins master/slave模式

master是主机,只有master装jenkins slave是小弟机无需装jenkins,主要执行master分配的任务 一.新建slave 1.新建slave的方法:点击magian jenkis---magian nodes 以下设置,需要注意下 启动方式,新版的jenkins只有一个选项,如下图,需要去开启 magian jenkis下有一个全局安全配置,代理配置,选随机 2.slave主动向master发起连接-注册 2.1 下载连接 2.2如果希望小弟机,一开机就连上,安装一个服务

Redis 的 master/slave 复制

Redis 的 master/slave 复制:    Redis 的 master/slave 数据复制方式可以是一主一从或者是一主多从的方式,Redis 在 master 是非阻塞模式,也就是说在 slave 执行数据同步的时候,master 是可以接受客户端的 请求的,并不影响同步数据的一致性,然而在 slave 端是阻塞模式的,slave 在同步 master 数据时,并不能够响应客户端的查询  Redis 的 master/slave 模式下,master 提供数据读写服务,而 sla

MySQL的Master/Slave集群安装和配置

本文讲述MySQL的Master/Slave集群安装和配置,安装的版本是最新的稳定版本GA 5.6.19. 为了支持有限的HA,我们使用Master/Slave简单的读写分离集群.有限的HA是指当Master不可用时,数据不会丢失,但在Master宕机的情况下是不可写的,必须手工处理故障.如果要支持更高的可用性,可以使用两台Master来做热切换. Master和Slave的MySQL安装是相同的,只是my.cnf的配置不同,需要配置二进制日志文件复制. 没有特殊说明,命名中带#的为root用户

Jenkins设置Master/Slave

说明:通过master/slave模式,可以在master节点上统一管理其他slave节点. 下面说明一步步实现master/slave模式. 第一步:以管理员登录jenkins.点击"系统管理/管理节点". 注:一般用户也可以添加节点.IE输入:http://ip:port/jenkins/computer/即可介入节点视图. 第二步:选择"新建节点".如果是首次创建,则只有"dumb slave"可用,否则还可从现有节点复制. 第三步:选择&

MongoDB学习笔记——Master/Slave主从复制

Master/Slave主从复制 主从复制MongoDB中比较常用的一种方式,如果要实现主从复制至少应该有两个MongoDB实例,一个作为主节点负责客户端请求,另一个作为从节点负责从主节点映射数据,提供数据备份,客户端读取等,推荐一主多从模式 MongoDB主从复制的实现方式: 主节点的操作会被记录为oplog,存储在系统数据库local的集合oplog.$main中,这个集合中的每个文档都代表主节点的一个操作(不包括查询) 从节点定期从主服务器获取oplog数据,并在本机进行执行 oplog使

Mongodb集群——master/slave

集群的配置 (本测试放于同一台机器进行配置,所以IP地址一样,如果是在不同的服务器上更换IP便可以) 1.目录结构 拷贝两份mongodb到/home/scotte.ye/mongo1和/home/scotte.ye/mongo2 2.开启mongodb 主: #cd /home/scotte.ye/mongo1/bin #./mongod --master -port=10111 -dbpath=/home/data/10111 -nohttpinterface & # 这样主服务器就开启了,

自动安装MongoDB Master, Slave, Arbiter脚本

最近有一个新项目需要用到MongoDB的Master,Slave,Arbiter的架构,去官网翻了一下文档,写了一个简陋的脚本.脚本可以在我的github上找到https://github.com/sangrealest #!/bin/bash #Author:Shanker #Time:2016/03/04 SlaveIP='10.128.129.45' SlaveName='Databse-Slave' SlaveMongoPort='27017' ArbiterIP='10.128.129