Mongodb副本集部署

  1. 安装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的端口打开。
  2. 配置  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); 回车,显示: Mongodb副本集部署 出现以上信息,说明初始化成功。 注意:只需要在一台服务器上初始化就可以了。

  1. 验证 登陆任意一台服务器上的mongo,到mongodb的bin目录下,使用以下命令进入mongo: ./mongo 使用:rs.status() 命令可以查看集群状态: Mongodb副本集部署

在从节点上,查询数据会出现: error: { "$err" : "not master and slaveok=false", "code" : 13435 }错误. 在mongo中执行一下语句: db.getMongo().setSlaveOk() 执行完后,就可以在标准节点上或被动节点上查询数据了。

转载于:https://my.oschina.net/zmf/blog/366496