mongodb集群配置
来源:互联网 发布:网页美工 编辑:程序博客网 时间:2024/05/17 23:21
主从设置方案
主从设置最大的缺点是主机down机,无法自动切换到从机上,只能手工切换,主从设置只能起到备份的作用,因此mongo已经基本放弃此方案,建议使用副本集方案
副本集方案
副本集方案可以实现自动切换,可以实现读写分离等复杂方案,建议使用,下面是xxxx的配置
192.168.1.10
//启动mongodb/usr/bin/mongod -port 28028 --dbpath /data/mongodbtest/ --logpath /data/mongodbtest/log2 --replSet test --fork
192.168.1.11
//启动mongodb/usr/bin/mongod -port 28028 --dbpath /data/mongodbtest/ --logpath /data/mongodb-sweixin/log --replSet test --fork
登陆任何一台服务器,进行配置
/usr/bin/mongo --port 28028config = { _id:"test", members:[ {_id:0,host:"192.168.1.10:28028"}, {_id:1,host:"192.168.1.11:28028"} ]}rs.initiate(config);
登陆任何一台服务器测试
//通过status命令可以看到一台服务器为primary,一台服务器为secondary//secondary服务器的状态开始的时候是startup2,然后变成recovering,当数据同步完成后变成secondaryrs.status();
读写分离
默认情况下只有主机有读写权限,副本集没有读权限,可以通过以下设置设置副本集的读功能
//登陆副本集(secondary) /usr/bin/mongo --port 28028use saas;//该设置只针对本次登录有效db.getMongo().setSlaveOk();
在java程序中一般通过java程序来配置副本集的读功能,从secondary级别的副本级读,向primary级别的主机写
public MongoDbFactory mongodbFactory() throws IOException{ String host = "db.host.%s.server"; String port = "db.host.%s.port"; List<ServerAddress> list = new ArrayList<ServerAddress>(); for(int i=1; i<12; i++){ String thost = String.format(host, i); String tport = String.format(port, i); String th = env.getProperty(thost); String tp = env.getProperty(tport); if(StringUtil.isEmpty(th) || StringUtil.isEmpty(tp)){ continue; } ServerAddress t = new ServerAddress(th,Integer.parseInt(tp)); list.add(t); } MongoClient moc = new MongoClient(list); //优先从secondary级别的服务器读 moc.setReadPreference(ReadPreference.secondaryPreferred()); return new SimpleMongoDbFactory(moc, env.getProperty("db.name"));}
集群配置的修改
集群配置完成后还可以通过修改config配置来扩展集群或者移除集群中的一台机器
0 0
- 配置MongoDB集群
- MongoDB集群配置
- 配置MongoDB集群分片
- 配置MongoDB集群分片
- MongoDB集群安装配置
- mongodb的集群配置
- 配置MongoDB集群分片
- mongoDB 集群配置
- mongodb集群配置
- mongodb集群配置
- 安装配置mongodb集群
- Mongodb集群配置搭建
- MongoDB分片集群配置
- mongoDB集群配置
- mongodb集群配置
- Mongodb集群配置问题探讨
- MongoDB 分片+副本 集群配置
- MongoDB的分片集群配置
- apidoc 生成Restful web Api文档
- 代码补丁
- 中科爱讯WiFi探针TZ007 4G移动版本配置说明
- 2017.2.14
- Android Studio 插件整理
- mongodb集群配置
- Android 怎么获取手机网络信号问题
- 微信公众平台开发调试
- 讨论孩子教育问题
- Linux中挂载LVM分区
- UVA-673 Parentheses Balance (桟)
- 超温报警
- 自定义仿全民直播界面的悬停效果
- VC++输入命令行参数