redhat7.0下mongodb主从搭配

1,首先安装mongodb,见之前博文

2,在主节点执行下面的命令

mongod --dbpath=/var/lib/mongo --master --oplogSize 64 --port 27017

看到下面的信息即启动成功

2015-05-18T09:51:12.111+0800 I STORAGE  [initandlisten] ** WARNING: Readahead for /var/lib/mongo is set to 4096KB
2015-05-18T09:51:12.111+0800 I STORAGE  [initandlisten] **          We suggest setting it to 256KB (512 sectors) or less
2015-05-18T09:51:12.111+0800 I STORAGE  [initandlisten] **          http://dochub.mongodb.org/core/readahead
2015-05-18T09:51:12.112+0800 I JOURNAL  [initandlisten] journal dir=/var/lib/mongo/journal
2015-05-18T09:51:12.112+0800 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2015-05-18T09:51:12.162+0800 I JOURNAL  [durability] Durability thread started
2015-05-18T09:51:12.162+0800 I JOURNAL  [journal writer] Journal writer thread started
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] MongoDB starting : pid=29245 port=27017 dbpath=/var/lib/mongo master=1 64-bit host=localhost.localdomain
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten]
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten]
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten]
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten]
2015-05-18T09:51:12.162+0800 I CONTROL  [initandlisten] db version v3.0.2
2015-05-18T09:51:12.163+0800 I CONTROL  [initandlisten] git version: 6201872043ecbbc0a4cc169b5482dcf385fc464f
2015-05-18T09:51:12.163+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2015-05-18T09:51:12.163+0800 I CONTROL  [initandlisten] build info: Linux ip-10-169-109-10 3.10.0-121.el7.x86_64 #1 SMP Tue Apr 8 10:48:19 EDT 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-05-18T09:51:12.163+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-05-18T09:51:12.163+0800 I CONTROL  [initandlisten] options: { master: true, net: { port: 27017 }, replication: { oplogSizeMB: 64 }, storage: { dbPath: "/var/lib/mongo" } }

3,从节点执行下面的命令即可

mongod --dbpath=/var/lib/mongo --port=37017--slave

看到下面日志即启动成功

015-05-18T11:26:21.321+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:26:16 55595bd8:1
2015-05-18T11:26:21.322+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:26:31.322+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:26:31.322+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:26:26 55595be2:1
2015-05-18T11:26:31.322+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:26:41.322+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:26:41.322+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:26:36 55595bec:1
2015-05-18T11:26:41.322+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:26:51.322+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:26:51.322+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:26:46 55595bf6:1
2015-05-18T11:26:51.322+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:27:01.323+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:27:01.323+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:26:56 55595c00:1
2015-05-18T11:27:01.323+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:27:11.323+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:27:11.323+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:27:06 55595c0a:1
2015-05-18T11:27:11.323+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:27:21.323+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:27:21.323+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:27:16 55595c14:1
2015-05-18T11:27:21.323+0800 I REPL     [replslave] repl: syncing from host:192.168.1.1:27017
2015-05-18T11:27:31.323+0800 I REPL     [replslave] repl:   applied 1 operations
2015-05-18T11:27:31.323+0800 I REPL     [replslave] repl:  end sync_pullOpLog syncedTo: May 18 11:27:26 55595c1e:1
2015-05-18T11:27:31.323+08

4,主库新增一条记录

> use test
switched to db test
> db.blog.save({title:"new article"})
WriteResult({ "nInserted" : 1 })

5,从库进行查询

>  db.blog.find()
{ "_id" : ObjectId("55595022e26fd5794a58bdd3"), "title" : "new article" }

主从同时都有了这条记录,即配置成功

注意事项:

1,报错如下:

repl: --source 192.168.1.1:27017 != 192.168.1.1:27017 from local.sources collection

原因:第一次执行从库命令的时候,错误的把source写成从库的ip,第二次修改正确的主库ip。由于从库已经在local表里存储了之前的source ip,以后在执行就会报错

解决办法:执行下面命令,删除错误的信息即可

 db.sources.remove({'host':'192.168.1.1:27017'})

2,从库命设置同步时机

mongod --dbpath=/var/lib/mongo --port=37017--slave --source=192.168.1.1:27017 autoresync=true 

add by joeyon1985

时间: 2024-11-08 20:57:39

redhat7.0下mongodb主从搭配的相关文章

mongodb主从配置及备份

本文将介绍下mongodb主从配置及备份 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 主从服务器的实现原理 首先,主节点会把本服务的与写有关的操作记录下来,读操来不记录,这些操作就记录在local数据库中的oplog.$admin这个集合中,这是一个固定集合,大小是可以配置的,主要是通过配置oplog

Linux下Mongodb数据库主从同步配置

说明: 有两台已经安装完成的Mongodb数据库服务器,现在需要把一台设置为主库,另一台设置为从库,实现主从同步. 操作系统:CentOS 7.0 64位 MongoDB数据库版本:mongodb-linux-x86_64-2.6.5 准备工作:MongoDB数据库安装 具体操作: 一.配置MongoDB主库 以下操作在MongoDB主库服务器上进行 1.cd  /usr/local/mongodb/ #进入MongoDB安装目录 vi /usr/local/mongodb/mongodb.co

RedHat7.0虚拟机下mysql安装

最近由于准备参加一个比赛,需要具备应用数据库的能力,所以我准备学习mysql.因为平时是在Linux下进行c++学习,所以也希望在Linux下学习mysql.首先需要在Linux下进行安装mysql(可是装了好长时间呢,各种百度与看别人的博客下终于大功告成): 虚拟机的版本为:redhat7.0   64bit mysql版本为:mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar 到mysql官网下载mysql安装包: mysql官网链接:http://dev.my

MongoDB主从+php实现

环境 172.16.115.202   primary 172.16.111.171   secondary 172.16.115.157   secondary 一.MongoDB安装 1. yum下载安装mongodb  扩展源http://repo.mongodb.org/yum/redhat/mongodb-org-3.0.repo mongodb-org-3.0.7-1.el6.x86_64.rpm #元数据包,它可以实现自动安装下面的4个组件包 mongodb-org-mongos-

windows下mongodb基础玩法系列二CURD附加一

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下mongodb基础玩法系列二CURD附加一 说在前面的话 在系列二中CURD只是简单的走了一下代码操作的流程,其中全是简单基础操作的内容, 在我仔细看完接下来的内容后决定再丰富一下前面的操作,并实战一个简单的demo出来,demo具体搭配语言暂时决定在PHP与nodejs之间. 增加内容至文档没说完

mongoDB主从和副本集群配置

mongoDB主从和副本集群配置 Mongodb是时下流行的NoSql数据库(MongoDB是一个基于分布式文件存储的数据库),它的存储方式是文档式存储,并不是Key-Value形式.   优势: 快速!(当然,这和具体的应用方式有关,通常来说,它比一般的关系型数据库快5位左右.) 很高的可扩展性–轻轻松松就可实现PB级的存储(但是可能我们并不需要PB级的存储,10TB可能就够了) 他有一个很好的 replication 模式 (replica sets) 有很完善的Java API 他的存储格

Linux 下mongodb的安装

l第一:下载,解压mongodb文件.把解压的文件放在/opt/下面(存放目录安装自己习惯存放) # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz # tar -xvf mongodb-linux-x86_64-2.0.4.tgz # mv mongodb-linux-x86_64-2.0.4.tgz mongodb2.0.4  (为了方便,把它从命名的更加简洁些) 第二:创建mongodb存放的数据文件.

Linux下mongodb安装及数据导入导出教程

Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面. 2.解压相应的安装包 命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

MongoDB主从

数据存储是整个系统中非常重要的一部分,在MySQL.Redis中都有主从架构,能够在一定程度上保证数据的安全性和高可用性,而MongoDB中也是有这种实现方式.主从配置非常简单,但是随着技术的发展已经很少采用主从架构,而更多的是采用副本集或者集群的模式去实现高可用. 简单的介绍一下MongoDB主从实现的方式和 环境: 操作系统:CentOS 6.7 MongoDB:  3.4.5 主数据目录:/data/mongomaster 从数据目录: /data/mongoslave MongoDB 管