MongoDB副本集分片集搭建记录

MongoDB副本集分片集搭建记录

1  准备工作

关闭SELinux和防火墙

vim hosts文件

192.168.2.171

192.168.2.172

192.168.2.173

192.168.2.58

192.168.2.160

192.168.2.161

192.168.2.169

192.168.2.183

192.168.2.219

192.168.1.110

192.168.1.111

192.168.1.112

 

2  安装MongoDB重要:同一个MongoDB集群所有的mongo版本必须一致,否则会报错

yum安装

/etc/yum.repos.d/下边写MongoDBrepo

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

#yum install mongodb-org -y

修改配置文件

#vim /etc/mongod.conf

 添加replsetname  修改IP

#service mongod start               ####启动mongodb

#mongo 192.168.2.183:27017    ####登录mongo

 

②源码安装

在官网下载tar

#tar zxvf mongodb-linux-x86_64-rhel62-3.4.10.tar.gz

#mv mongodb-linux-x86_64-rhel62-3.4.10  /usr/local/mongo

#mkdir /usr/local/mongo/{data,log}

#touch /usr/local/mongo/log/mongo.log

#vi /etc/profile               ####mongo命令加入到环境变量中

export PATH=/usr/local/mongo/bin:$PATH                 ####在最下添加这一行

#source /etc/profile

#mongo  --replSet dajiuzi --dbpath /usr/local/mongo/data  --port 27017  --logpath /usr/local/mongo/log/mongo.log  --fork

参数解释:--replSet 指定副本集的名字,并且开启副本集功能--dbpath  数据存放路径   --port 指定端口  --logpath  日志文件存放路径    --fork 后台运行

#mongo    #####登录mongo

3  配置副本集

上面安装时已经做好了副本集的配置文件(适用于yum安装)和参数指定(适用于源码安装),所以只要登录进mongo进行配置就可以了

mongo>config = {_id: "dajiuzi", members: []}

{ "_id" : "yunxiao", "members" : [ ] }

mongo>config.members.push({_id: 0, host: "192.168.1.171:27017"})

1

mongo>config.members.push({_id: 1, host: "192.168.1.172:27017"})

2

mongo>config.members.push({_id: 2, host: "192.168.1.173:27017"})

3

mongo>rs.initiate(config)

{ "ok" : 1 }

mongo>rs.status()

此时副本集配置成功

跨网段添加节点

mongo>rs.add(“192.168.2.148:27017”)   ####输另一个网段的公网IP和映射出去的端口

mongo>rs.remove(“192.168.2.148:27017”)   ####删除节点

4  分片集搭建

分片集需要用到mongosshardingconfigsvr功能

在每个副本集机器上建立一个config server mongos

搭建config server副本集

#mongo --configsvr  --replSet dajiuzi --dbpath /usr/local/mongo/data  --port 27017  --logpath /usr/local/mongo/log/mongo.log  --fork

mongo内部配置和副本集配置一样 config server也是一个副本集

配置mongos

#mongos  --configdb dajiuzi/192.168.2.169:28000,192.168.2.183:28000,192.168.2.219:28000  --port 28000  --logpath /usr/local/mongo/log/mongos.log  --fork   ####mongos不需要数据存放路径,只是控制节点,--configdb 参数是config serverIP

#mongo 192.168.2.169:28000

mongos>sh.addShard("dajiuzi/192.168.2.171:27017")

{ "shardAdded" : "dajiuzi", "ok" : 1 }

mongos>sh.addShard("dabiaoge/192.168.2.58:27017")

{ "shardAdded" : "dabiaoge", "ok" : 1 }

mongos>sh.addShard("daxiongdi/192.168.2.148:27017")

{ "shardAdded" : "daxiongdi", "ok" : 1 }

mongos>sh.status()

sharding version: {...

}

  shards:

    {  "_id" : "dajiuzi",  "host" : "dajiuzi/xxx:27017,xxx:27017" }

    {  "_id" : "dabiaoge",  "host" : "dabiaoge/xxx:27017,xxxx:27017,xxxx:27017" }

  ...

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值