美文网首页
数据异构 之 MongoShake

数据异构 之 MongoShake

作者: 诺之林 | 来源:发表于2020-07-16 10:31 被阅读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()
    

    参考

    相关文章

      网友评论

          本文标题:数据异构 之 MongoShake

          本文链接:https://www.haomeiwen.com/subject/zdhmcktx.html