你的位置:首页 > 数据库

[数据库]MongoDB windows基础配置


由于公司业务的发展MSSQL已处于瓶颈。因为没钱买牛逼服务器只能靠软件来实现最大优化了。原来的系统架构如下图:

 

现在准备把读写数据库和只读数据换成Nosql数据库。最终选择了Mongodb. 下面开始了Mongodb的学习。

1. Mongodb下载:https://www.mongodb.org/downloads?_ga=1.159678843.794950141.1434346788

2.具体安装就不多说了。网上太多介绍的。没必要浪费键盘了。

3.搭建复制集

  一个简单的复制集最少包括三个节点。 1.primary 2. secondary,3.arbiter节点

 primary: 存储数据。

 secondary:同步主节点数据

 arbiter: 当主节点故障时,arbiter会投票选择一个secondary充当priary节点。

大致如下:

注意:三个节点其实就是三个Mongod实例。

(1). 创建主节点配置文件内容如下: 文件名:rs0.conf

      dbpath = D:\RuntimeServices\MongoDB_Ad\shard00\db        //指定数据存储目录
  logpath = D:\RuntimeServices\MongoDB_Ad\shard00\log\shard00.log    //指定数据库日志目录
  journal = true  //是否启动日志功能
  port = 32000   //端口号
  nohttpinterface = true  //不开启web监控界面
  replSet = rs0           //复制集名称(同一个复制集名称相同)

 (2). 创建从节点配置文件(rs1.conf),内容如下:

     dbpath = D:\RuntimeServices\MongoDB_Ad\shard01\db
  logpath = D:\RuntimeServices\MongoDB_Ad\shard01\log\shard01.log
  journal = true
  port = 32001
  nohttpinterface = true
  replSet = rs0

 

 (3).创建arbiter节点配置文件(rs2.conf) 内容如下:

      dbpath = D:\RuntimeServices\MongoDB_Ad\shard02\db
  logpath = D:\RuntimeServices\MongoDB_Ad\shard02\log\shard02.log
  journal = true
  port = 32002
  nohttpinterface = true
  replSet = rs0

  分别生成三个服务

   sc.exe create OpenXLive.MongoDB_Ad.Shard00 binPath= "\"D:\RuntimeServices\MongoDB_Ad\mongodb-3.0.4\bin\mongod.exe\" --service --config=\"D:\RuntimeServices\MongoDB_Ad\mongodb-3.0.4\rs0_0.conf\"" DisplayName= "rs0_Service" start= "auto"

  (4).链接到主节点执行命令

     rs.initiate();

     此时复制集只有一个成员。 rs.conf() 进行查看。

     按照MongoDB的默认设置。刚才的命令会初始化mongod实例为主节点。 下面把从节点和arbiter加入进去。

     rs0:PRIMARY>rs.add("localhost:32001");

     rs0:PRIMARY>rs.addArb("localhost:32002");

     rs0:PRIMARY>rs.status()   可查看复制集状态。

 

 

至此一个复制集创建完成。 在大数据的时代一个复制集远远不够。虽然解决了灾难恢复。但是没有完成数据分片。一台物理机上的空间是有限的。为了实现数据均衡分布在多台机器上。 下面开始了MongoDB的集群搭建。

在Mongodb中搭建一个集群环境非常简单。几分钟就可以完成一个拥有故障转移,数据同步,读写分离,数据分布式存储的集群环境。

 

二、分片集群架构

分片集群主要有mongos路由进程、配置服务器、复制集组成的分片集合组成。 如下图:

        logpath = "E:\Mongodb\config\logs\db_config0.log"

        journal = true

        port = 30002

        configsvr=true

   启动服务。

   (2).configure服务器2的配置文件参考上面。 启动服务

   (3).configure服务器3的配置文件参考上面。 启动服务

 

4.配置Mongos路由服务器

   配置文件cfg_mongos.conf 内容如下:

   logpath=""

   port = 30000

   configdb = localhost:30001,localhost:30002,localhost:30003

 

启动服务器。

 

5. 添加各个分片到集群:

   打开客户端连接到Mongos服务器。

   添加第一个分片的主从节点: mongos>sh.addShard("localhost:30004,localhost:30005")

   添加第二个分片的主从节点: mongos>sh.addShard("localhost:30007,localhost:30008")

 

6.最后通过sh.status()检查是否正确(下图我实际添加了三个分片)

 

 

支持分片集群搭建完成。

 

更多内容:

1.集群完成怎样去访问?

2.用户权限怎么添加?

3.如果监控集群环境是否工作正常。

4.如果做到数据分布式存储

5.片键如果选择?

6.索引建立

7.curd基本操作。

8.读写分离如何控制。

9.c# php java js 等如何使用Mongod集群的?

针对上面问题。接下来会慢慢更新。

 

 

 

 

 

 

  

 

 

   

 




去湖北旅游最佳路线去湖北旅游最佳时间湖北旅游线路报价湖北旅游攻略大全湖北旅游路线推荐南江口到盘龙峡怎么走?南江口到盘龙峡怎么坐车? 肇庆2015清明节去哪看薰衣草?2015清明节肇庆看薰衣草去哪里? 4月去哪看薰衣草?德庆盘龙峡4月薰衣草好看吗? 2015德庆盘龙峡薰衣草花期多长?盘龙峡薰衣草能开到几月? 放鸡岛船票多少钱?茂名放鸡岛航班时间表? 2015广东珠海春节哪里最好玩?广东珠海春节赏花看表演的好去处? 2015春节澳门环岛游有哪些优惠活动?澳门环岛游风情表演好看吗? 茂名放鸡岛有哪些娱乐项目?放鸡岛海上游乐世界适合多大儿童玩? 秋雨霏霏丝丝凉 山城“五方十泉”泡起来 三亚旅游怎样防骗? 探秘哏儿都治愈系地界儿 哏儿都治愈系地界儿 周五来了周六还远吗 去香港该买些什么?到香港旅游必买的东西有哪些? 大陆游客能不能经香港到澳门? 香港有什么好玩的?香港旅游去哪里好? 香港的劳力士价格会比大陆便宜吗?在哪里买比较好? SQCAEA200JAJME Datasheet SQCAEA200JAJME Datasheet AQ12EA820GAJWE Datasheet AQ12EA820GAJWE Datasheet SQCAEA220GA1ME Datasheet SQCAEA220GA1ME Datasheet 内蒙古跟团去港澳价格 内蒙古跟团去港澳价格 内蒙古跟团去港澳价格 佳木斯到港澳旅游价格 佳木斯到港澳旅游价格 佳木斯到港澳旅游价格 杭州至香港旅游价格 杭州至香港旅游价格 杭州至香港旅游价格