【头歌】6.6MongoDB 复制集 & 分片

以下代码/命令可直接复制粘贴

第一关 MongoDB 架构

第一关选择题

  1. ACD
  2. ABD

第二关 MongoDB 复制集搭建

port=20002     #配置端口号
dbpath=/data/test/db2     #配置数据存放的位置
logpath=/logs/test/mongod2.log     #配置日志存放的位置 
logappend=true     #日志使用追加的方式
fork=true     #设置在后台运行
replSet=YOURMONGO     #配置复制集名称,该名称要在所有的服务器一致

port=20003     #配置端口号
dbpath=/data/test/db3     #配置数据存放的位置
logpath=/logs/test/mongod3.log     #配置日志存放的位置 
logappend=true     #日志使用追加的方式
fork=true     #设置在后台运行
replSet=YOURMONGO     #配置复制集名称,该名称要在所有的服务器一致

mongod -f /etc/test/mongod1.conf
mongod -f /etc/test/mongod2.conf
mongod -f /etc/test/mongod3.conf

config = {
   _id:"YOURMONGO",
   members:[
       {_id:0,host:'127.0.0.1:20001'},
       {_id:1,host:'127.0.0.1:20002',arbiterOnly:true},
       {_id:2,host:'127.0.0.1:20003'},
   ]
}

第三关 MongoDB 分片集搭建

mkdir -p /data/test2/shard1/db
mkdir -p /logs/test2/shard1/log
mkdir -p /data/test2/shard2/db
mkdir -p /logs/test2/shard2/log
mkdir -p /data/test2/shard3/db
mkdir -p /logs/test2/shard3/log
mkdir -p /data/test2/config/db
mkdir -p /logs/test2/config/log
mkdir -p /logs/test2/mongs/log
mkdir -p /etc/test2

vim /etc/test2/mongod1.conf

dbpath=/data/test2/shard1/db
logpath=/logs/test2/shard1/log/mongodb.log
port=21001
shardsvr=true
fork=true

vim /etc/test2/mongod2.conf

dbpath=/data/test2/shard2/db
logpath=/logs/test2/shard2/log/mongodb.log
port=21002
shardsvr=true
fork=true

vim /etc/test2/mongod3.conf

dbpath=/data/test2/shard3/db
logpath=/logs/test2/shard3/log/mongodb.log
port=21003
shardsvr=true
fork=true

mongod -f /etc/test2/mongod1.conf
mongod -f /etc/test2/mongod2.conf
mongod -f /etc/test2/mongod3.conf


mongod --dbpath /data/test2/config/db --logpath /logs/test2/config/log/mongodb.log --port 21004 --configsvr --replSet cs --fork


mongo localhost:21004
use admin
cfg = {
   _id:'cs',
   configsvr:true,
   members:[
       {_id:0,host:'localhost:21004'}
    ]
}
rs.initiate(cfg)
exit;

mongos --configdb cs/localhost:21004 --logpath /logs/test2/mongs/log/mongodb.log --port 21005 --fork

测试命令(可选操作)

mongo localhost:21005
sh.addShard('localhost:21001')
sh.addShard('localhost:21002')
sh.addShard('localhost:21003')
sh.status()

use config
db.settings.save( { _id:"chunksize", value: 1 } )
sh.enableSharding("test")
db.user.ensureIndex({ "uid" : 1})
sh.shardCollection("test.user",{"uid" : 1})
use test
for(i=0;i<100000;i++){db.user.insert({uid:i,username:'test-'+i})}
sh.status()
exit

mongo localhost:21001
use test
db.user.count()
exit
mongo localhost:21002
use test
db.user.count()
exit
mongo localhost:21003
use test
db.user.count()
exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值