MongoDB
部署方式分为3种
- 主备(
Master-slave
) - 复制集(或叫副本集,
Replica Set
) - 分片集群(
Sharding
)
现在需要在Windows
环境下以复制集的方式进行部署
当然首先是下载MongoDB
选择版本,平台,然后就是无脑下载安装了
接下来我们需要部署,先说说几种部署方式之间的区别
- 主备,就是主节点一个,从节点一个
- 复制集,主节点一个,从节点多个,可以用投票节点(主节点挂了,可以进行投票)
- 分片集群
网上其实也有一些部署复制集的方式,但我感觉说得不够简练,装好MongoDB
后,因为要以复制集部署,刚才的图也看到了,需要起3个 MongoDB
节点,也就是Master
主节点,Slave
从节点以及Arbiter
选举节点,所以我们随便选一个文件夹,创建三个不同的文件夹表示不同的节点
每一个节点还需要一个日志文件,就分别每个文件夹下创建一个mongo.log
空文件(我以master
文件夹举例)
就完了,之前网上有什么复制配置文件啥的,感觉很麻烦
为了方便操作MongoDB
的命令,可以选择去系统的环境变量的path
里加上MongoDB
安装目录下的bin
路径
好了,之后win+r
输入cmd
运行打开命令行,我们要启动三个节点了
如果你已经加了路径了,直接就输入下面命令
mongod -port 27111 -dbpath C:\work\program\mongodb\master -logpath C:\work\program\mongodb\master\mongo.log -replSet mySet -logappend
如果没有加路径,就先cd
到MongoDB
的安装目录下的bin
路径,然后再输入上面的命令
其中路径就挨个改成自己的路径,那个mySet
就是一个名字,复制集名字,可以自定义,启动好了,就会这样等待,没有任何显示
然后再开一个命令行,继续执行命令
mongod -port 27112 -dbpath C:\work\program\mongodb\slave -logpath C:\work\program\mongodb\slave\mongo.log -replSet mySet -logappend
除了端口不一样,路径不一样,其他保持一致
最后一个继续
mongod -port 27113 -dbpath C:\work\program\mongodb\arbiter -logpath C:\work\program\mongodb\arbiter\mongo.log -replSet mySet -logappend
三个节点都启动好了,但是它们现在只是单独按照节点的方式启动起来,并没有组成复制集,所以接下来,把它们部署成复制集
再起一个cmd
,输入如下命令进入27111
的数据库(如果你没有配置路径,还是需要先cd
到MongoDB
的bin
路径下,才能执行如下命令)
mongo -port 27111
进入数据库后,再执行下面的绑定命令,就OK啦(注意绑定的名字也要是之前定义的mySet
)
rs.initiate({"_id":"mySet",members:[{_id:0,host:"127.0.0.1:27111"},{_id:1,host:"127.0.0.1:27112"},{_id:2,host:"127.0.0.1:27113"}]})
你可以输入命令rs.status()
查看各个节点的状态信息
其中health
是1
表示正常,state
是1
表示主节点,也就是stateStr
是PRIMARY
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。