• 单机mongodb安装、mongodb启动和关闭


    单机mongodb安装

    groupadd mongodb
    useradd -g mongodb mongodb
    tar zxvf mongodb-linux-x86_64-rhel70-3.6.11.tgz 
    ln -s /opt/mongodb-linux-x86_64-rhel70-3.6.11  /usr/local/mongodb
    chown -R mongodb:mongodb /usr/local/mongodb
    mkdir -p /data/mongodb/db
    mkdir -p /data/mongodb/logs
    chown -R mongodb:mongodb /data/mongodb

    # 添加文件打开数和mongod用户进程连接数
    cat >> /etc/security/limits.conf << EOF
    * soft nofile 65536
    * hard nofile 65536
    mongod soft nproc 32768
    mongod hard nproc 32768
    EOF


    # 禁用Transparent Huge Pages
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag

    cat >> /etc/rc.local << EOF
    if test -f /sys/kernel/mm/transparent_hugepage/enabled;then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi

    if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi
    EOF

     
    vi /etc/mongodb.conf
     
    dbpath = /data/mongodb/db                                        
    logpath = /data/mongodb/logs/mongodb.log        
    port = 27017                                   
    fork = true                                     
     
    启动mongo程序
    # /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf 
     
     
    测试mongo是否安装成功
    # /usr/local/mongodb/bin/mongo
     
     
    添加mongodb命令到环境变量
    echo "export PATH=$PATH:/usr/local/mongodb/bin">>/etc/profile 
    source /etc/profile
     
    设置mongodb开机启动
    # echo "/usr/local/mongodb/bin/mongod -f /etc/mongodb.conf" >>/etc/rc.d/rc.local 
     
     
     
    使用systemctl 来管理 mongod 
     

    cat <<EOF > /usr/lib/systemd/system/mongodb.service
    [Unit]
    Description=mongodb
    After=network.target remote-fs.target nss-lookup.target

    [Service]
    Type=forking
    ExecStart=/usr/local/mongodb/bin/mongod --config /etc/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /etc/mongodb.conf
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target
    EOF


    #添加可执行权限:
    chmod 755 /usr/lib/systemd/system/mongodb.service


    #重载 systemctl units
    systemctl daemon-reload


    #设置为开机自启动
    systemctl enable mongodb.service

     

    mongodb的启动

    mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/33988.log --port 33988 --fork  


    --dbpath  数据文件存放路径,如果没有指定,默认数据目录为:/data/db 。
    --logpath 错误日志存放路径。
    --port 端口号,默认端口号27017 ;默认 28017(比指定的端口号 多一千) 是HTTP接口。
    --fork  以后台deamon方式启动,如果选择此种方法必须加上 --logpath参数,这是强制的


    mongod -f /etc/mongo.cnf  

    #/etc/mongo.cnf 文件内容
    port=2800
    dbpath=/data/mongodb/data
    logpath=/data/mongodb/log/mongodb.log
    pidfilepath=/data/mongodb/log/mongos.pid
    fork=true

    mongod的关闭

    方法一:

    mongod --config=/etc/mondod.conf --shutdown

    方法二:

    mongo --port 28000


    > use admin

    > db.shutdownServer();

    如果没有up-to-date 从Mongodb且你想强制关闭服务,可以通过添加force:true;命令如下:
    > db.adminCommand({shutdown : 1, force : true})

    or
    > db.shutdownServer({force : true})


    指定特定超时时间的关闭服务器,命令同上,另外加上一个timeoutsec:参数
    > db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)

    or
    > db.shutdownServer({force : true, timeoutsec : 5})

    mongos的关闭
    因为mongos是无状态的节点,可以直接kill掉Mongos进程。

    副本集(Replica Set)环境中的启动和关闭
    1.启动
       分别启动每个mongod加入到副本集,最后rs.initiate()就可以了
    2.关闭
       分别关闭每个mongod,关闭primary的时候如果所有secondary和primary的时间差都大于10s,则primary会
    拒绝关闭,如果没有密集写操作可以db.shutdownServer({force : true}) 强制关闭。


    分片(Shard)环境中的启动和关闭
    1.启动
       这个具体的参照分片的配置,启动的顺序是副本集->config server->mongos
    2.关闭
       因为mongos是分片架构最前端的入口,所以关闭顺序:mongos->config server->副本集

  • 相关阅读:
    轻量级数据库sqlite的使用
    Integer引发的思考
    css限制显示行数
    数据库 chapter 17 数据仓库与联机分析处理技术
    数据库 chapter 15 对象关系数据库系统
    数据库 chapter 16 XML数据库
    数据库 chapter 14 分布式数据库系统
    数据库 chapter 11 并发控制
    数据库 chapter 12 数据库管理系统
    数据库 chapter 13 数据库技术新发展
  • 原文地址:https://www.cnblogs.com/liang545621/p/7059672.html
Copyright © 2020-2023  润新知