数据异构 之 MongoShake

2020-07-16  本文已影响0人  诺之林

本文环境基于vagrant-mongoshake

Contents

Architecture

image.png

Cluster

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()

参考

上一篇下一篇

猜你喜欢

热点阅读