1
2 3 4 5 6 7 8 |
#存放整个mongodb文件
mkdir -p /data /mongodbtest /single #存放mongodb数据文件 mkdir -p /data /mongodbtest /single /data #进入mongodb文件夹 cd /data /mongodbtest /single |
1
2 3 4 5 6 7 |
wget http:
//fastdl.mongodb.org
/linux
/mongodb-linux-x86_64-2.4.6.tgz
#解压下载的压缩包 tar xvzf mongodb-linux-x86_64-2.4.6.tgz #进入mongodb程序执行文件夹 cd mongodb-linux-x86_64-2.4.6 /bin / |
1
|
mongod
--dbpath
/data
/mongodbtest
/single
/data
|
-
1、准备两台机器 192.168.0.1 和 192.168.0.2。 192.168.0.1 当作主节点, 192.168.0.2作为从节点。
-
2、分别下载mongodb安装程序包。在192.168.0.1上建立文件夹 /data/mongodbtest/master,192.168.0.2建立文件夹/data/mongodbtest/slave。
-
3、在192.168.0.1启动mongodb主节点程序。注意后面的这个 “ –master ”参数,标示主节点。
mongod –dbpath /data/mongodbtest/master –master
1
2 3 4 5 6 7 8 9 10 11 |
mongo 127.0.0.1
#建立test 数据库。 use test; 往testdb表插入数据。 > db.testdb.insert ( { "test1": "testval1" } ) 查询testdb数据看看是否成功。 > db.testdb.find ( ); { "_id" : ObjectId ( "5284e5cb1f4eb215b2ecc463" ), "test1" : "testval1" } |
1
2 3 4 5 6 7 |
> show dbs;
local 0.203125GB test 0.203125GB use test; db.testdb.find ( ); { "_id" : ObjectId ( "5284e5cb1f4eb215b2ecc463" ), "test1" : "testval1" } |
1
2 |
Thu Nov
14
23:05:
13
[replslave
] repl: checkpoint applied
15 operations
Thu Nov 14 23:05: 13 [replslave ] repl: syncedTo: Nov 14 23:08: 10 5284e75a: 1 |
1
2 3 4 5 |
> db.printReplicationInfo
(
);
this is a slave, printing slave replication info. source: 192.168.0.1: 27017 syncedTo: Sun Nov 17 2013 16:04:02 GMT+0800 (CST ) = -54 secs ago (-0.01hrs ) |
1
2 3 |
mongo 127.0.0.1:
27017
> db.testdb.insert ( { "test3": "testval3" } ); not master |
1
|
kill
-3
`
ps
-ef
|
grep mongod
|
grep
-v
grep
|
awk
'{print $2}'
`
|
1
2 |
> db.testdb.insert
(
{
"test3":
"testval3"
}
);
not master |
1
|
mongod
--dbpath
/data
/mongodbtest
/slave
--master
|
1
|
mongo 192.168.0.2:
27017
|
1
2 3 |
> db.testdb.find
(
);
{ "_id" : ObjectId ( "5288629e9b0318be4b20bd4c" ), "test1" : "testval1" } { "_id" : ObjectId ( "528862d69b0318be4b20bd4d" ), "test2" : "testval2" } |
1
|
mongod
--dbpath
/data
/mongodbtest
/slave1
--slave
--port
27017
--source 192.168.0.1:
27017。
|
1
2 3 |
> db.testdb.find
(
);
{ "_id" : ObjectId ( "5288629e9b0318be4b20bd4c" ), "test1" : "testval1" } { "_id" : ObjectId ( "528862d69b0318be4b20bd4d" ), "test2" : "testval2" } |
-
主节点挂了能否自动切换连接?目前需要手工切换。
-
主节点的写压力过大如何解决?
-
从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?
-
就算对从节点路由实施路由访问策略能否做到自动扩展?