Mongodb副本集部署
- 安装mongodb 步骤如下: 1、解压 :tar -xvf mongodb-linux-x86_64-2.4.6.tgz 2、把解压后的目录mv到安装目录:/data/mongodb (命令:mv mongodb-linux-x86_64-2.4.6 /data/mongodb) 3、在目录/data/mongodb下创建log目录,并在log目录下创建mongodb.log空文件。 4、在空间最大的磁盘上创建mongodb的数据存储目录:mkdir mongodata/data 6、如果服务器开启了防火墙,要把mongodb的端口打开。
- 配置
10.0.0.1上mongodb的配置:
#10.0.0.1上的配置
logpath=/mongocluster/data/logs/ mongod.log
目录需要提前创建,并赋予读写权限 dbpath=/mongocluster/data/data 目录需要提前创建,并赋予读写权限 port=27017 fork=true logappend=true replSet=rs1/10.0.0.2:27017
另一台节点的IP和端口
10.0.0.2上mongodb的配置: #10.0.0.2上的配置 logpath=/mongocluster/data/logs/mongod.log 目录需要提前创建,并赋予读写权限 dbpath=/mongocluster/data/data 目录需要提前创建,并赋予读写权限 port=27017 fork=true logappend=true replSet=rs1/10.0.0.1:27017 另一台节点的IP和端口
10.0.0.3上mongodb的配置: #10.0.0.3上的配置 logpath=/mongocluster/data/logs/mongod.log dbpath=/mongocluster/data/data port=27017 fork=true logappend=true replSet=rs1/10.0.0.1:27017,10.0.0.2:27017 除本机外,其他所有安装mongodb的服务器IP和端口
把上面几段段配置分别保存到各自的mongodb的bin目录下,文件名命名为:mongod.conf。 在几台服务器上分别使用上面的配置启动,命令如下: ./mongod -f mongod.conf
初始化配置
任意一台mongodb的服务器都可以
连接到10.0.0.1 上的mongo,到mongodb的bin目录下,使用以下命令进入mongo:
./mongo
然后输入以下命令:
config_rs1={_id:'rs1',members:[
{_id:0,host:'10.0.0.1:27017'},
{_id:1,host:'10.0.0.2:27017'},
{_id:2,host:'10.0.0.3:27017'}]
}
输入完,回车
再输入:
rs.initiate(config_rs1);
回车,显示:
出现以上信息,说明初始化成功。
注意:只需要在一台服务器上初始化就可以了。
- 验证
登陆任意一台服务器上的mongo,到mongodb的bin目录下,使用以下命令进入mongo:
./mongo
使用:rs.status() 命令可以查看集群状态:
在从节点上,查询数据会出现: error: { "$err" : "not master and slaveok=false", "code" : 13435 }错误. 在mongo中执行一下语句: db.getMongo().setSlaveOk() 执行完后,就可以在标准节点上或被动节点上查询数据了。
转载于:https://my.oschina.net/zmf/blog/366496