Master和Slave的配置方法
1. 主机器(master)
master: 172.16.101.251
mongodb home: /usr/local/server/mongodb/
data file: /usr/local/server/mongodb/data/
log file: /usr/local/server/mongodb/logs
2. 从机器(slave)
master: 172.16.101.244
mongodb home: /usr/local/server/mongodb/
data file: /usr/local/server/mongodb/data/
log file: /usr/local/server/mongodb/logs
注意:这里,最好是用scp命令把主机器的mongodb的所有目录和文件远程拷贝
到从机器上去, 之前不要去启动,主机器,否则启动从的时候会报错(在
日志文件中可以看到错误:mongodb ERROR: Client::~Client _context should be null but is not; client:replslave)
这样的话, 只需要把数据文件data目录下的所有文件删除,重新启动即可
3. 启动master
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --oplogSize 64 --logappend --port=27017 --fork
4. 启动slave
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--slave --source 172.16.101.251 --only test --slavedelay 10
--logappend --port=27017 --fork
5. 如果需要互为主从的话可以用如下命令(这个我已经测试成功了,并且在主和从都能插入,无论在哪边
插入, 在另外一边都能查看到新的记录)
5.1. 启动master
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --slave --source 172.16.101.244
--logappend --port=27017 --fork
5.2. 启动slave
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --slave --source 172.16.101.251 --only test --slavedelay 10
--logappend --port=27017 --fork
6. 测试
在主机器上添加数据
cd /usr/local/server/mongodb/
./bin/mongo
db.foo.save({"id":123456,"name":'liuyuanshijie'});
成功的话可以在从服务器看到数据:
cd /usr/local/server/mongodb/
./bin/mongo
1. 主机器(master)
master: 172.16.101.251
mongodb home: /usr/local/server/mongodb/
data file: /usr/local/server/mongodb/data/
log file: /usr/local/server/mongodb/logs
2. 从机器(slave)
master: 172.16.101.244
mongodb home: /usr/local/server/mongodb/
data file: /usr/local/server/mongodb/data/
log file: /usr/local/server/mongodb/logs
注意:这里,最好是用scp命令把主机器的mongodb的所有目录和文件远程拷贝
到从机器上去, 之前不要去启动,主机器,否则启动从的时候会报错(在
日志文件中可以看到错误:mongodb ERROR: Client::~Client _context should be null but is not; client:replslave)
这样的话, 只需要把数据文件data目录下的所有文件删除,重新启动即可
3. 启动master
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --oplogSize 64 --logappend --port=27017 --fork
4. 启动slave
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--slave --source 172.16.101.251 --only test --slavedelay 10
--logappend --port=27017 --fork
5. 如果需要互为主从的话可以用如下命令(这个我已经测试成功了,并且在主和从都能插入,无论在哪边
插入, 在另外一边都能查看到新的记录)
5.1. 启动master
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --slave --source 172.16.101.244
--logappend --port=27017 --fork
5.2. 启动slave
cd /usr/local/server/mongodb/
./bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs
--master --slave --source 172.16.101.251 --only test --slavedelay 10
--logappend --port=27017 --fork
6. 测试
在主机器上添加数据
cd /usr/local/server/mongodb/
./bin/mongo
db.foo.save({"id":123456,"name":'liuyuanshijie'});
成功的话可以在从服务器看到数据:
cd /usr/local/server/mongodb/
./bin/mongo
db.foo.find({"id":123})
PS: http://blog.youkuaiyun.com/samxx8/article/details/6990865