星空网 > 软件开发 > 数据库

MongoDB windows基础配置

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

MongoDB windows基础配置

 

现在准备把读写数据库和只读数据换成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节点。

大致如下:

MongoDB windows基础配置

注意:三个节点其实就是三个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路由进程、配置服务器、复制集组成的分片集合组成。 如下图:

MongoDB windows基础配置

分片集群上一个分片(shard) 就是一个复制集。 当然也可以是一个单个Mongod实例。在集群中一般用复制集。保证一个分片不会故障。如果一个分片出现故障。整个集群就挂了。因为每一个分片上保留数据的一部分。

所有分片的综合才是所有数据。所以我们应该保证每个分片上数据的完整性和稳定性至关重要。

Mongos和配置服务器是轻量级进程。是不会保存数据的。 配置服务器只保存分片的一些状态信息。 所以整个读取集群的过程为: 访问Mongos-查询配置服务器,根据配置服务器要求写入或读取那些分片服务器进行读取数据。

 

搭建集群步骤:

1. 配置复制集rs0并启动。参考上面介绍

2.配置复制集rs1并启动。

3.配置cofingure服务器。

   配置服务器也是一个Mongod实例。

   (1).configure服务器1 的配置文件 cfgserver_0.conf 内容如下:

        dbpath="E:\Mongodb\config\data\db_config0"

        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()检查是否正确(下图我实际添加了三个分片)

  MongoDB windows基础配置

 

支持分片集群搭建完成。

 

更多内容:

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

2.用户权限怎么添加?

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

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

5.片键如果选择?

6.索引建立

7.curd基本操作。

8.读写分离如何控制。

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

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

 

 

 

 

 

 

  

 

 

   

 




原标题:MongoDB windows基础配置

关键词:Windows

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

国际邮政组织:速卖通入选全球消费者最爱用的跨境电商平台:https://www.kjdsnews.com/a/1305665.html
中大件海运,中大件国际物流,中大件海外仓方案:https://www.kjdsnews.com/a/1305666.html
年销千万成类目黑马!国内巨头争相入局:https://www.kjdsnews.com/a/1305667.html
亚马逊卖家应该如何寻找货源?:https://www.kjdsnews.com/a/1305668.html
类目大卖花十几万攻击同行被抓包,当事卖家已报案:https://www.kjdsnews.com/a/1305669.html
外贸企业开年纷纷“扩招”,涌现跨境主播、定制员等新职业:https://www.kjdsnews.com/a/1305670.html
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流