zoukankan      html  css  js  c++  java
  • 单机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->副本集

  • 相关阅读:
    EventLog实现事件日志操作
    可否控制<link type=text/css rel=stylesheet href=style.css>
    强制IE浏览器或WebBrowser控件使用指定版本显示网页2
    C#中的@符号
    C#运算符大全_各种运算符号的概述及作用
    调试时设置条件断点
    C语言:用字符读取流和输出流来读写入数据。(文本文件)
    建立完整的单向动态链表(包括初始化、创建、插入、删除、查找、销毁、输出)
    C语言:创建动态单向链表,创建完成后,输出每一个节点的数据信息。
    C语言:使用realloc函数对malloc或者calloc动态分配的内存大小进行扩展
  • 原文地址:https://www.cnblogs.com/liang545621/p/7059672.html
Copyright © 2011-2022 走看看