mongoDB部署——量化数据中台系列(二)

 github   

1. tgw 

   https://github.com/tgw2023/tgw

2. AmazingQuant

https://github.com/zhanggao2013/AmazingQuant

量化数据中台的资讯数据和另类数据,选用非关系型数据MongoDB。

    采用1个mongos节点、1个config节点、4个shard的配置模式。


1.mongo 安装

sudo apt-get install mongodb 就在默认路径/usr/bin
因为写文件是的open file数量限制
在 etc/profile 里面写入
ulimit -n 25000
然后 source /etc/profile   配置环境变量

2.mongo配置

(1)在27222  config里面
必须先配,启动mongos 40003 之前
use admin
config = {_id:"rs0", members:[

  {_id:0, host:"127.0.0.1:27222"}

  ]

};

rs.initiate(config)

(2)在 40001里面
添加shard
use admin
db.runCommand( { addshard : "127.0.0.1:27020",name:"shard0"} )
db.runCommand( { addshard : "127.0.0.1:27021",name:"shard1"} )
db.runCommand( { addshard : "127.0.0.1:27022",name:"shard2"} )
db.runCommand( { addshard : "127.0.0.1:27023",name:"shard3"} )
db.runCommand( { listshards : 1} )
整体状态查看
mongos> sh.status();


(3) 数据库分片配置

激活数据库分片功能
语法:( { enablesharding : "数据库名称" } )

mongos> use test
use admin
mongos> db.runCommand( { enablesharding : "test" } )
指定分片建对集合分片,范围片键--创建索引
(以上必须在mongos内做)
下面可以直接在python里面做
mongos> db.vast.ensureIndex( { _id: 1 } )
mongos> use admin
mongos> db.runCommand( { shardcollection : "test.vast",key : {_id: 1} } )
集合分片验证
mongos> use test
mongos> for(i=0;i<20000;i++){ db.vast1.insert({"id":i,"name":"clsn","age":70,"date":new Date()}); }
mongos> db.vast.stats()

3.mongo启动

先启动 config ,再启动shard,最后启动mongos
sudo /usr/bin/mongod --port 27222 --dbpath=/home/zhanggao/mongodb/shard/config --logpath=/home/zhanggao/mongodb/shard/log/config.log --logappend --fork --configsvr --replSet rs0

sudo /usr/bin/mongod --shardsvr --port 27020 --dbpath=/home/zhanggao/mongodb/shard/s0 --logpath=/home/zhanggao/mongodb/shard/log/s0.log --logappend --fork
sudo /usr/bin/mongod --shardsvr --port 27021 --dbpath=/home/zhanggao/mongodb/shard/s1 --logpath=/home/zhanggao/mongodb/shard/log/s1.log --logappend --fork
sudo /usr/bin/mongod --shardsvr --port 27022 --dbpath=/home/zhanggao/mongodb/shard/s2 --logpath=/home/zhanggao/mongodb/shard/log/s2.log --logappend --fork
sudo /usr/bin/mongod --shardsvr --port 27023 --dbpath=/home/zhanggao/mongodb/shard/s3 --logpath=/home/zhanggao/mongodb/shard/log/s3.log --logappend --fork

sudo /usr/bin/mongos --port 40001 --configdb=rs0/127.0.0.1:27222 --fork --log

4.mongo异常关闭后,启动

如果因为 linux 异常关闭,(1)删除所有 .lock文件,(2)--repair  启动,(3)不带 repair 再启动一次
/usr/bin/mongod  --port 27222 --dbpath=/home/zhanggao/mongodb/shard/config --logpath=/home/zhanggao/mongodb/shard/log/config.log --logappend --fork --configsvr --replSet rs0

/usr/bin/mongod --repair --shardsvr --port 27020 --dbpath=/home/zhanggao/mongodb/shard/s0 --logpath=/home/zhanggao/mongodb/shard/log/s0.log --logappend --fork
/usr/bin/mongod --repair --shardsvr --port 27021 --dbpath=/home/zhanggao/mongodb/shard/s1 --logpath=/home/zhanggao/mongodb/shard/log/s1.log --logappend --fork
/usr/bin/mongod --repair --shardsvr --port 27022 --dbpath=/home/zhanggao/mongodb/shard/s2 --logpath=/home/zhanggao/mongodb/shard/log/s2.log --logappend --fork
/usr/bin/mongod --repair --shardsvr --port 27023 --dbpath=/home/zhanggao/mongodb/shard/s3 --logpath=/home/zhanggao/mongodb/shard/log/s3.log --logappend --fork

/usr/bin/mongos --port 40001 --configdb=rs0/127.0.0.1:27222 --fork --logpath=/home/zhanggao/mongodb/shard/log/route.log

5.mongo关闭

40001
use admin
db.shutdownServer()

/usr/bin/mongod --shutdown --port 27222 --dbpath=/home/zhanggao/mongodb/shard/config --logpath=/home/zhanggao/mongodb/shard/log/config.log --logappend --fork --configsvr --replSet rs0

/usr/bin/mongod --shutdown --shardsvr --port 27020 --dbpath=/home/zhanggao/mongodb/shard/s0 --logpath=/home/zhanggao/mongodb/shard/log/s0.log --logappend --fork
/usr/bin/mongod --shutdown --shardsvr --port 27021 --dbpath=/home/zhanggao/mongodb/shard/s1 --logpath=/home/zhanggao/mongodb/shard/log/s1.log --logappend --fork
/usr/bin/mongod --shutdown --shardsvr --port 27022 --dbpath=/home/zhanggao/mongodb/shard/s2 --logpath=/home/zhanggao/mongodb/shard/log/s2.log --logappend --fork
/usr/bin/mongod --shutdown --shardsvr --port 27023 --dbpath=/home/zhanggao/mongodb/shard/s3 --logpath=/home/zhanggao/mongodb/shard/log/s3.log --logappend --fork

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值