mongo分片集群生产环境操作步骤&&mongo注意事项

生产环境第一次上线操作步骤(前提代码中需要指定shard_key)

python 代码示例

from mongoengine import connect, DynamicDocument, SequenceField, StringField
connect(host="mongodb://root:passwd@xxxx/db, alias="default", connect=False)
class UserInfo(DynamicDocument):
    """
    用户信息表
    """
    _id = SequenceField(primary_key=True  # 用户id
    last_login_time = StringField(max_length=200)  # 最后登录时间
    device_id = StringField(max_length=200)  # 设备id
    create_time = StringField(max_length=100)  # 账号创建时间
    city = StringField(max_length=50)  # 城市
    gender = IntField()  # 性别
    province = StringField(max_length=50)  # 省份
    country = StringField(max_length=50)  # 国家
    headimg = StringField(max_length=200)  # 头像
    role = StringField(max_length=100)  # 用户身份
    nick_name = StringField(max_length=100)  # 昵称
    meta = {"collection": "userInfo", "db_alias": "default", "shard_key": ("_id",)}  # 指定shard_key

首先admin用户登录

1.创建数据库

use testdb

2.创建用户出现 Successfully added user 即可

db.createUser({user:"test1",pwd:"test123",roles:[{role:"readWrite",db:"testdb"}]})

3.声明为分片库:sh.status() 查看数据库状态{partitioned:true} 表面为分片库

sh.enableSharding("testdb")

4.创建分片集合,指定hashed

sh.shardCollection('testdb', {_id:'hashed'})

5.查看分片状态

sh.status()

 mongo注意事项

  • 每条查询必须中索引观看是否有慢查询
  • 建立索引必须为后台索引

 

原文地址:https://www.cnblogs.com/zhaoyingjie/p/14020601.html