作者:mobiledu2502883017 | 来源:互联网 | 2018-07-10 02:57
MongoDB的环境主要包括StandAlone,Replication和Sharding。因为数据量和机器量的原因,项目最终用了一个Primary,一个Secondary
MongoDB的环境主要包括StandAlone,Replication和Sharding。因为数据量和机器量的原因,项目最终用了一个Primary,一个Secondary
MongoDB的环境主要包括StandAlone,Replication和Sharding。
StandAlone:单机环境,一般开发测试的时候用。
Replication:主从结构,一个Primary,多个Secondary,可能会有Arbitry。
Sharding:share nothing的结构,每台机器只存一部分数据。mongod服务器存数据,mongos服务器负责路由读写请求,,元数据存在config数据库中。
因为数据量和机器量的原因,项目最终用了一个Primary,一个Secondary,一个Arbitry。我自己的开发环境是Ubuntu,测试环境是CentOS。安装的是64位的MongoDB。
Ubuntu上的安装
sudo apt-get install mongodb-10gen
CentOS上的安装
配置yum源,创建文件:/etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/RedHat/os/x86_64/
gpgcheck=0
enabled=1
安装命令:
yum install mongo-10gen mongo-10gen-server
配置
每台机器上面的配置文件/etc/mongod.conf修改成下面的:
#数据库文件所在位置(默认)
dbpath=/var/lib/mongo
#日志所在位置(默认)
logpath=/var/log/mongo/mongod.log
#pid所在位置(默认)
pidfilepath = /var/run/mongodb/mongod.pid
#keyFile所在位置,生成方式在后面(添加)
keyFile=/var/lib/mongo/key
#端口(默认)
port=27017
#每次启动后日志追加在后面,不会新建日志文件(默认)
logappend=true
#用deamon方式启动(添加)
fork=true
#打开操作日志,用于故障恢复和持久化(默认)
journal=true
#replica set的名字(添加)
replSet=test-set
在每台机器上运行:
sudo mongod -f /etc/mongod.conf
我的环境里面,Primary ip: 192.168.1.1,Secondary ip: 192.168.1.2,Arbitary ip: 192.168.1.3。在单机上可以将多个mongodb设置成不同端口,我测试了一下也是可以的。
在Primary上运行“mongo”,打开命令行,设置Replica Set:
rs.initiate(
{: ,
: [
{: : },
{: : },
{: : , : true}
]
});
{
:
"ok" : 1
}
历史成功后需要等一段时间,他会选举Primary,然后查看Replica Set的状态:
test-set:PRIMARY> rs.status()
{
: "test-set",
: ISODate(),
: 7,
: [
{
: 1,
: ,
: 1,
: 1,
: ,
: 4086,
: Timestamp(1392972480, 1),
: ISODate(),
: ISODate(),
: ISODate(),
: 0
},
{
: 2,
: ,
: 1,
: 2,
: ,
: 3997,
: Timestamp(1392972480, 1),
: ISODate(),
: ISODate(),
: ISODate(),
: 0,
:
},
{
: 3,
: ,
: 1,
: 7,
: ,
: 5781,
: true
}
],
: 1
}
这样整个replica set就配置成功了,还是比较简单的。
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里
相关阅读:
MongoDB备份与恢复
CentOS编译安装MongoDB
CentOS 编译安装 MongoDB与mongoDB的php扩展
CentOS 6 使用 yum 安装MongoDB及服务器端配置
Ubuntu 13.04下安装MongoDB2.4.3
如何在MongoDB中建立新数据库和集合
MongoDB入门必读(概念与实战并重)
《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]