本文环境基于vagrant-mongoshake
Contents
Architecture
image.pngCluster
vagrant ssh cluster
sudo apt install -y libcurl4-openssl-dev
wget http://file.nuozhilin.site/6_db/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
tar xf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
cd mongodb-linux-x86_64-ubuntu1604-4.2.8
mkdir ./primary ./secondary ./arbiter
./bin/mongod --replSet mongoshake --bind_ip 192.168.56.201 --port 27017 --dbpath ./primary &
./bin/mongod --replSet mongoshake --bind_ip 192.168.56.201 --port 27018 --dbpath ./secondary &
./bin/mongod --replSet mongoshake --bind_ip 192.168.56.201 --port 27019 --dbpath ./arbiter &
./bin/mongo --host 192.168.56.201 --port 27017
# use admin
config = {
"_id": "mongoshake",
"members": [
{"_id": 0, "host": "192.168.56.201:27017"},
{"_id": 1, "host": "192.168.56.201:27018"},
{"_id": 2, "host": "192.168.56.201:27019", arbiterOnly: true}
]
}
rs.initiate(config)
rs.status()
db.createUser({user:"mongoshake", pwd:"mongoshake", roles:[{role:"read", db:"local"}, {role:"readWrite", db:"mongoshake"}]})
# use db1
db.col1.insert({'name': 'xiaowang'})
db.col1.find({})
./bin/mongo --host 192.168.56.201 --port 27018
# use db1
use db1
db.col1.find({})
MongoShake
vagrant ssh mongoshake
sudo apt install -y libcurl4-openssl-dev
wget http://file.nuozhilin.site/6_db/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
tar xf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
cd mongodb-linux-x86_64-ubuntu1604-4.2.8
mkdir dbdata
./bin/mongod --bind_ip 192.168.56.202 --port 27017 --dbpath ./dbdata &
./bin/mongo --host 192.168.56.202 --port 27017
# use admin
db.createUser({user:"mongoshake", pwd:"mongoshake", roles:[{role:"readWriteAnyDatabase", db:"admin"}]})
wget http://file.nuozhilin.site/6_db/mongo-shake-v2.4.7_2.tar.gz
tar xf mongo-shake-v2.4.7_2.tar.gz
cd mongo-shake-v2.4.7
vim collector.conf
# mongo_urls = mongodb://mongoshake:mongoshake@192.168.56.201:27017,192.168.56.201:27018,192.168.56.201:27019
# tunnel.address = mongodb://mongoshake:mongoshake@192.168.56.202:27017
# ./collector.linux -conf=collector.conf -verbose
./start.sh collector.conf &
Testing
./bin/mongo --host 192.168.56.201 --port 27017
use db2
for (i=1;i<=100;i++) db.col1.insert( {name:"student"+i, age:(i%120), address: "shanghai" } );
./bin/mongo --host 192.168.56.202 --port 27017
user db2
db.col1.count()
网友评论