MongoDB 3.2.1 Linux集群搭建笔记

最近为了做《高级数据库》的大作业,在本地找了几台机器,搭了一个MongoDB集群。由于时间关系,先把重点mark下来,以后再完善。

1、MongoDB 版本 3.2

安装方法见官网(Install MongoDB Community Edition on Linux),每个节点都要安装。

2、机器资源

共6台,4Ubuntu + 2CentOS

分别命名为N1~N6.

3、步骤

3.1配置ReplicaSet(Deploy a Replica Set)

计划是配置3个RelicaSets:

rs0=N1+N2 port: 27017;

rs1=N3+N4 port  27018;

rs2=N5+N6 port  27019。#以上的 port 好像是可以一样的,时间关系,当时没试。

接下来在每台机子上操作:

3.1.1 启动mongod

N1 & N2 : mongod --replSet "rs0" --port 27017

N3 & N4 : mongod --replSet "rs1" --port 27018

N5 & N6 : mongod --replSet "rs2" --port 27019

3.1.2 打开mongo shell

随便在每一个Replica Set里,选一个节点,另开一个终端,打开mongo shell,指令如下:

N1 或 N2: mongo --port 27017

N3 或 N4: mongo --port 27018

N5 或 N6: mongo --port 27019

3.1.3 初始化Replica Set

在每个一个Replica Set打开的mongo shell里,

N1: 

rs.initiate({
   _id: "rs0",
   version: 1,
   members: [
      { _id: 0, host: "N1:27017" },
      { _id: 1, host: "N2:27017" },
   ]
})

N3: 

rs.initiate({
   _id: "rs1",
   version: 1,
   members: [
      { _id: 0, host: "N3:27018" },
      { _id: 1, host: "N4:27018" },
   ]
})

N5: 

rs.initiate({
   _id: "rs2",
   version: 1,
   members: [
      { _id: 0, host: "N5:27018" },
      { _id: 1, host: "N6:27018" },
   ]
})

如果成功的话,会在mongo shell里看到有{..."ok": 1... }之类的字眼出现。也可以在打开的mongo shell里用rs.conf()查看Replica Set的状态

3.2配置ConfigRepiSet

计划是用原先N1~N6中其中三台机器来搭。

ConfigRepliSet = N1 + N2 + N3

N1 & N2 & N3: mongod --configsvr --replSet configReplSet --port 21870 

类似地,打开一个新的终端,连到N1、N2、N3其中一个,打开mongo shell: mongo --host N1 --port 21870

初始化ConfigReliSet :

rs.initiate( {
   _id: "configReplSet",
   configsvr: true,
   version: 1,
   members: [
      { _id: 0, host: "N1:21870" },
      { _id: 1, host: "N2:21870" },
      { _id: 2, host: "N3:21870" },
   ]
} )

启动mongos Instance,其实就是再打开一个终端,输入: mongos --configdb configReplSet/N1:21870,N2:21870,N3:21870 --port 21871

3.3配置Sharding

上面打开mongos Instance之后,先不要关掉。再开一个终端,连接到configRepliSet其中一个节点(N1或N2或N3),但端口要用“21871”

以N1为例,命令是: mongo --host N1 --port 21871

连上之后,可以在mongo shell 里往集群添加shard。这里用的shard,就是上面配的ReplicaSet(就是rs0,rs1,rs2这三个)

对于每一个ReplicaSet,只需要添加一个节点进去集群就行了。如:

sh.addShard( "rs0/N1:27017" )

sh.addShard( "rs1/N3:27018" )

sh.addShard( "rs2/N5:27019" )


然后就完事了。到这里,MongoDB集群就算是搭好了。


!!!注意!!!

这只是我个人一个简单的记录,后面我会找时间完善好,这里可能会存在非常多的问题,希望有大牛可以指正,让我学习学习。如果有读者要参考这篇来搭的话,建议慎重考虑!可以把这篇当成辅助理解的材料,主要还是以官网的方法为主。MongoDB 3.2版本搭建起来感觉要比旧版本那些要简单一些,但网上找到的教程多数都是旧版本的。于是草草地摸索了一下。欢迎跟大家交流。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值