zoukankan      html  css  js  c++  java
  • 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注意事项

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

     

  • 相关阅读:
    [daily][dpdk] 内核模块(网卡驱动)无法卸载
    [development][tcp/ip][ids] 一个简单有参考价值的库 libnids
    [development][http][libhtp] suricata的http库--libhtp
    [skill][http] http管道化连接
    [skill][telnet] 用telnet获取一个网页
    [daily][grub2] grub2修改内核选项
    [knowledge] big data things
    [knowledge][dpdk] open data plane
    [daily] docker
    [knowledge] 停止等待协议
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/14020601.html
Copyright © 2011-2022 走看看