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

MongoDB 安装、主从配置、以及监控

2013-11-03 15:35 495 查看
1、安装
#添加安装源

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
#yum 安装
yum install -y mongo-10gen mongo-10gen-server
#添加到开机自动启动

chkconfig mongod on
2、启动,停止,重启命令

service mongod start
service mongod stop
service mongod restart
3、测试

使用mongoperf 查看磁盘IO性能#mongoperf -h
usage:
mongoperf < myjsonconfigfile
{
nThreads:<n>,   // number of threads (default 1)
fileSizeMB:<n>,  // test file size (default 1MB)
sleepMicros:<n>, // pause for sleepMicros/nThreads between each operation (default 0)
mmf:<bool>,    // if true do i/o's via memory mapped files (default false)
r:<bool>,     // do reads (default false)
w:<bool>,     // do writes (default false)
recSizeKB:<n>,  // size of each write (default 4KB)
syncDelay:<n>   // secs between fsyncs, like --syncdelay in mongod. (default 0/never)
}
进行测试:
[root@php1 ~]# cat <jsonfile
{
nThreads:1,
fileSizeMB:1,
sleepMicros:0,
mmf:'true',
r:'true',
w:'true',
recSizeKB:4,
syncDelay:0
}
#参考Real world MongoDB benchmarks with benchRun

https://blog.serverdensity.com/real-world-mongodb-benchmarks-with-benchrun/

运行mongo
#mongo
>db.foo.insert( { _id : 1 } )
>ops = [{ op :"findOne", ns :"test.foo", query : { _id : 1 } }, { op :"update", ns :"test.foo", query : { _id : 1 } , update : { $inc : { x : 1 } } } ]
[
{
"op":"findOne",
"ns":"test.foo",
"query": {
"_id": 1
}
},
{
"op":"update",
"ns":"test.foo",
"query": {
"_id": 1
},
"update": {
"$inc": {
"x": 1
}
}
}
]
>for( x = 1; x<=128; x*=2){
...   res = benchRun( { parallel : x ,
...            seconds : 5 ,
...            ops : ops
...           } )
...   print("threads: "+ x +"\t queries/sec: "+ res.query )
... }
threads: 1 queries/sec: 7886.8
threads: 2 queries/sec: 12786.2
threads: 4 queries/sec: 14891.2
threads: 8 queries/sec: 16361.2
threads: 16 queries/sec: 19811.6
threads: 32 queries/sec: 18343.8
threads: 64 queries/sec: 26470.4
threads: 128 queries/sec: 36110.4
4、主从配置

php1172.17.16.7
mysql1172.17.16.21
#两个服务器修改hosts:
172.17.16.7 php1.domain.com
#主上添加配置:vim /etc/mongod.conf

master = true
source = php1.dapingmu.conf
#从上添加配置:

#vim /etc/mongod.conf
slave = true
source = php1.dapingmu.com
#查看主从,使用robomongo或直接在服务器上使用命令行工具

#主服务器上
#mongo
>use local
>db.slaves.find()
/* 0 */
{
"_id" : ObjectId("526b44843f12574552e6ce48"),
"config" : {
"host" : "172.17.16.21:29025",
"upgradeNeeded" : true
},
"ns" : "local.oplog.$main",
"syncedTo" : Timestamp(1382870579, 1)
}
5、监控管理

#mongostat
The mongostat utility provides a quick overview of the status of a currently running mongod or mongos instance. mongostat is functionally similar to the UNIX/Linux file system utility vmstat, but provides data regarding mongod and mongos instances.

#mongotop

mongotop provides a method to track the amount of time a MongoDB instance spends reading and writing data. mongotop provides statistics on a per-collection level. By default, mongotop returns values every second.

#mongodb连接管理客户端robomongo

下载地址:www.robomongo.org

#MMS管理
管理地址:https://mms.mongodb.com
需要安装pymongo并安装mms agent
1、安装Python 2.6+
2、安装PyMongo
3、下载:mms-monitoring-agent
wget https://mms.mongodb.com/settings/mmsAgent/15f01bbee11f24c1c5b2b31fab30c406/mms-monitoring-agent-(MMS-Group-Name).tar.gz[/code]4、解压并运行 
$ nohup python agent.py >> /YOUR_LOG_DIRECTORY/agent.log 2>&1 &
5、添加一个Mongo Node
即可登录MMS管理地址查看MongoDB 节点监控信息图表

本文出自 “张跃的部落格” 博客,请务必保留此出处http://mrcto.blog.51cto.com/1923168/1319612
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: