|
准备工作
环境: CentOS6.5 64位
MongoDB 3.0.1 64位
一、启动mongod服务
? [root@localhost data]# /usr/local/mongodb3.0.1/bin/mongod --port 40144 --dbpath=/data/mongodb3.0.1/data/ --logpath=/data/mongodb3.0.1/log/mongodb.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.66.89:50144 --fork
[root@localhost data]# /usr/local/mongodb3.0.1/bin/mongod --port 50144 --dbpath=/data/mongodb3.0.1/db_50144/ --logpath=/data/mongodb3.0.1/db_50144/mongodb.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.66.89:40144 --fork
[root@localhost data]# /usr/local/mongodb3.0.1/bin/mongod --port 60144 --dbpath=/data/mongodb3.0.1/db_60144/ --logpath=/data/mongodb3.0.1/db_60144/mongodb.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.66.89:40144 --fork
?
参数:
--oplogSize 日志操作文件的大(默认磁盘剩余空间的5%)
--dbpath 数据文件路径
--logpath 日志文件路径
--port 端口号,默认是27017
--replSet 复制集的名字,一个replica sets中的每个节点的这个参数都要用一个复制集名字,这里是test.
--replSet test/ 这个后面跟的是其他standard节点的ip和端口
--maxConns 最大连接数
--fork 后台运行
--logappend 日志文件循环使用,如果日志文件已满,那么新日志覆盖最久日志。
任选一个节点登录mongodb数据库 [root@localhost data]# /usr/local/mongodb3.0.1/bin/mongo --port 40144
MongoDB shell version: 3.0.1
connecting to: 127.0.0.1:40144/test
Server has startup warnings:
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten]
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten]
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten]
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-05-08T09:06:42.270+0800 I CONTROL [initandlisten]
#使用admin数据库
> use admin;
switched to db admin
#定义副本集配置变量并初始化,这里的 _id:”replSet” 和上面命令参数“--replSet repl” 要保持一样
> db.runCommand({"replSetInitiate":{"_id":"repl","members":[{"_id":1,"host":"192.168.66.89:40144"},{"_id":2,"host":"192.168.66.89:50144"},{"_id":3,"host":"192.168.66.89:60144"}]}});
{ "ok" : 1 }
#查看副本集信息
repl:OTHER> db._adminCommand("replSetGetStatus");
{
"set" : "repl",
"date" : ISODate("2015-05-08T01:18:55.619Z"),
"myState" : 1,
"members" : [
{
"_id" : 1,
"name" : "192.168.66.89:40144",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 776,
"optime" : Timestamp(1431047920, 1),
"optimeDate" : ISODate("2015-05-08T01:18:40Z"),
"electionTime" : Timestamp(1431047923, 1),
"electionDate" : ISODate("2015-05-08T01:18:43Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 2,
"name" : "192.168.66.89:50144",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 15,
"optime" : Timestamp(1431047920, 1),
"optimeDate" : ISODate("2015-05-08T01:18:40Z"),
"lastHeartbeat" : ISODate("2015-05-08T01:18:53.650Z"),
"lastHeartbeatRecv" : ISODate("2015-05-08T01:18:53.650Z"),
"pingMs" : 0,
"lastHeartbeatMessage" : "could not find member to sync from",
"configV |