您的位置:首页 > 数据库 > Mongodb

mongodb部署

2012-02-21 18:05 204 查看
一、简单启动

举例:

./mongod --dbpath /var/lib/mongodb/ --port 12345


这中方法相对比较简单,这里不做具体的阐述,查看下面的文档即可

http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo

二、master-slave

1. 运行脚本脚本:

$ cd ~/apps
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.3.tgz $ tar zxvf mongodb-linux-x86_64-1.8.3.tgz
$ mv mongodb-linux-x86_64-1.8.3 mongodb
# master
./mongodb/bin/mongod --master --port 7891 --dbpath=/home/zhujiadun.pt/mongodbdata/master_slave/master/ --logpath=/home/zhujiadun.pt/mongodbdata/master_slave/master.log --fork
# slave 10 sec sync
./mongodb/bin/mongod --slave --port 7892 --source 10.232.36.110:7891 --slavedelay 10 --dbpath=/home/zhujiadun.pt/mongodbdata/master_slave/slave/ --logpath=/home/zhujiadun.pt/mongodbdata/master_slave/slave.log --fork


--fork:让mongodb以后台守护进程的方式运行。 作用相当于:

nohup ./mongodb/bin/mongod --master --port 27017 --dbpath=$HOME/data/mongodb --logpath=$HOME/data/mongodb.log &


主备指定的数据文件地址(--logpath)必须是不同的,而且贮备都提供一个对外的端口号,以便监控相关情况。

一个小技巧:http的监控接口是(mongodb端口+1000),比如默认创建的MongoDB服务监听的是27017端口,而28017(监听端口+1000) 是web admin interface 监听端口,这个28017就是Http Console监控端口。

2. 查看主备效果

主库插入:



备库查询:



主服务器可以通过自己local库的slave集合查看从服务器列表

从服务器可以通过自己local库的source集合查看主服务器信息或维护多个主服务器。 (一个slave服务器可以服务多个master服务器)

三、Replica Set(副本集)

启动脚本:

#start node1 mongodb
./mongodb/bin/mongod --dbpath=/home/zhujiadun.pt/mongodbdata/replica_set/node1/ --logpath=/home/zhujiadun.pt/mongodbdata/replica_set/node1.log --port 10001 --replSet blort/10.232.36.110:10002 --fork
#start node2 mongodb
./mongodb/bin/mongod --dbpath=/home/zhujiadun.pt/mongodbdata/replica_set/node2/ --logpath=/home/zhujiadun.pt/mongodbdata/replica_set/node2.log --port 10002 --replSet blort/10.232.36.110:10001 --fork
#start node3 mongodb
./mongodb/bin/mongod --dbpath=/home/zhujiadun.pt/mongodbdata/replica_set/node3/ --logpath=/home/zhujiadun.pt/mongodbdata/replica_set/node2.log --port 10003 --replSet blort/10.232.36.110:10001 --fork


启动第三个结点时,副本集有一个亮点就是有自动检测功能:在其中指定单台服务器后,MongoDB就会自动搜索并连接其余的结点。

启动几台服务器之后,日志会会告诉你副本没有进行初始化,因为还差最后一步:在shell初始化

# init the configure
./mongodb/bin/mongo 10.232.36.110:10001/admin
db.runCommand({"replSetInitiate":{
"_id" : "blort",
"members" : [
{
"_id" : 1,
"host" :  "10.232.36.110:10001"
},
{
"_id" : 2,
"host" : "10.232.36.110:10002"
},
{
"_id" : 3,
"host" : "10.232.36.110:10003"
}
]
}})


举例:





连接这个mongodb集群:

./mongodb/bin/mongo 10.232.36.110:10001,10.232.36.110:10002,10.232.36.110:10001
MongoDB shell version: 1.8.3
connecting to: 10.232.36.110:10001,10.232.36.110:10002,10.232.36.110:10001/test
Tue Feb 21 14:17:57 SyncClusterConnection connecting to [10.232.36.110:10001]
Tue Feb 21 14:17:57 SyncClusterConnection connecting to [10.232.36.110:10002]
Tue Feb 21 14:17:57 SyncClusterConnection connecting to [10.232.36.110:10001]
blort:PRIMARY>


官方文档:

http://www.mongodb.org/display/DOCS/Replication

连接mongodb的方法:

/article/6373744.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: