900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mongodb分片+副本集集群环境搭建

mongodb分片+副本集集群环境搭建

时间:2022-01-06 13:13:38

相关推荐

mongodb分片+副本集集群环境搭建

1.准备工作

准备机器

端口28000 27017 27018 27019 2702.168.0.1 config routeshardmaster shardreplset shardreplset192.168.0.2 config routeshardreplset shardmastershardreplset192.168.0.3 config routeshardreplset shardreplset shardmaster

2.修改系统参数(3台)

cat >> /etc/sysctl.conf<<EOF

vm.overcommit_memory=1net.core.somaxconn=1024fs.file-max=655350

EOF

echo never >> /sys/kernel/mm/transparent_hugepage/enabled

echo never>>/sys/kernel/mm/transparent_hugepage/defrag

cat >>/etc/security/limits.conf<<EOF

* soft nproc 655350* hard nproc 655350* soft nofile 655350* hard nofile 655350

EOF

sysctl -p

cat /etc/sysctl.conf

cat /etc/security/limits.conf

3.安装安装包,创建文件夹(3台)

cd /usr/local/

tar zxvf /root/mongodb-linux-x86_64-rhel62-3.5.10.tgz.gz

ln -s mongodb-linux-x86_64-rhel62-3.5.10 mongo

vi /etc/profile

export PATH=/usr/local/mongo/bin/

source /etc/profile

mkdir -p /etc/mongodb

mkdir -p /data/mongodb/configserver/

mkdir -p /data/mongodb/mongos/

mkdir -p /data/mongodb/shard1/

mkdir -p /data/mongodb/shard2/

mkdir -p /data/mongodb/shard3/

4.搭建config server(3台)

vi /etc/mongodb/config.conf

directoryperdb=truepidfilepath = /data/mongodb/configserver/mongod.piddbpath= /data/mongodb/configserver/logpath= /data/mongodb/configserver/mongod.loglogappend = truebind_ip= 0.0.0.0port = 28000fork = trueslowms = 500oplogSize=50quiet=trueconfigsvr = truereplSet = configsmaxConns = 20000

mongod -f /etc/mongodb/config.conf

192.168.0.1上:

mongo --port 28000

初始化副本集

config = {_id : "configs",members : [{_id : 0, host : "192.168.0.1:28000" },{_id : 1, host : "192.168.0.2:28000" },{_id : 2, host : "192.168.0.3:28000" }]}rs.initiate(config)

5.搭建shard master(3台)

vi /etc/mongodb/shard1.conf

directoryperdb=truepidfilepath = /data/mongodb/shard1/mongod.piddbpath= /data/mongodb/shard1/logpath=/data/mongodb/shard1/mongod.loglogappend = truebind_ip= 0.0.0.0port = 27018 #第一台27018,第二台27019,第三台27020fork = trueslowms = 500oplogSize=50quiet=trueshardsvr = truereplSet = shard1maxConns = 20000

mongod -f /etc/mongodb/shard1.conf

vi /etc/mongodb/shard2.conf

directoryperdb=truepidfilepath = /data/mongodb/shard2/mongod.piddbpath= /data/mongodb/shard2/logpath=/data/mongodb/shard2/mongod.logkeyFile = /data/mongodb/shard2/mongodb.keylogappend = truebind_ip= 0.0.0.0port = 27019 #第一台27019,第二台27020,第三台27018fork = trueslowms = 500oplogSize=50quiet=trueshardsvr = truereplSet = shard2maxConns = 20000

mongod -f /etc/mongodb/shard2.conf

192.168.0.3上:

vi /etc/mongodb/shard3.conf

directoryperdb=truepidfilepath = /data/mongodb/shard3/mongod.piddbpath= /data/mongodb/shard3/logpath=/data/mongodb/shard3/mongod.logkeyFile = /data/mongodb/shard3/mongodb.keylogappend = truebind_ip= 0.0.0.0port = 27020 #第一台27020,第二台27018,第三台27019fork = trueslowms = 500oplogSize=50quiet=trueshardsvr = truereplSet = shard3maxConns = 20000

mongod -f /etc/mongodb/shard3.conf

192.168.0.1上:

mongo --port 27018

初始化副本集

config = {_id : "shard1",members : [{_id : 0, host : "192.168.0.1:27018" },{_id : 1, host : "192.168.0.2:27019" },{_id : 2, host : "192.168.0.3:27020" }]}rs.initiate(config)

192.168.0.2上:

mongo --port 27020

初始化副本集

config = {_id : "shard2",members : [{_id : 0, host : "192.168.0.2:27020" },{_id : 1, host : "192.168.0.1:27019" },{_id : 2, host : "192.168.0.3:27018" }]}rs.initiate(config)

192.168.0.3上:

mongo --port 27019

初始化副本集

config = {_id : "shard3",members : [{_id : 0, host : "192.168.0.3:27019" },{_id : 1, host : "192.168.0.2:27018" },{_id : 2, host : "192.168.0.1:27020" }]}rs.initiate(config)

5.搭建route(3台)

vi /etc/mongodb/mongos.conf

pidfilepath = /data/mongodb/mongos/mongod.pidlogpath=/data/mongodb/mongos/mongod.loglogappend = truebind_ip= 0.0.0.0port = 27017fork = truequiet=truemaxConns = 20000configdb = configs/192.168.0.1:28000,192.168.0.2:28000,192.168.0.3:28000

mongos -f /etc/mongodb/mongos.conf

在任意一台例如192.168.0.1上

mongo --port 27017

use admin

sh.addShard(“shard1/192.168.0.1:27018,192.168.0.2:27019,192.168.0.3:27020”);

sh.addShard(“shard2/192.168.0.2:27020,192.168.0.1:27019,192.168.0.3:27018”);

sh.addShard(“shard3/192.168.0.3:27019,192.168.0.1:27020,192.168.0.2:27018”);

sh.status()

6.测试

sh.enableSharding(“cctest”)

sh.shardCollection(“cctest.user”,{name:1})

use cctest

for(var i=1;i<=100000;i++){db.user.save({_id:i,name:“user-”+i,age:18})}

发现数据库分片到了不同的shard里,搭建成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。