zoukankan      html  css  js  c++  java
  • mongodb安装部署3.6版本

    第一章:逻辑结构

    Mongodb 逻辑结构                         MySQL逻辑结构
    库database                                 库
    集合(collection)                          表
    文档(document)                            数据行

    第二章:安装部署

    1、系统准备

    1)redhat或centos6.2以上系统
    (2)系统开发包完整
    (3)ip地址和hosts文件解析正常
    (4)iptables防火墙&SElinux关闭
    (5)关闭大页内存机制
    ########################################################################
    root用户下
    在vi /etc/rc.local最后添加如下代码
    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
            
    cat  /sys/kernel/mm/transparent_hugepage/enabled        
    cat /sys/kernel/mm/transparent_hugepage/defrag  
    其他系统关闭参照官方文档:   
    
    https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
    ---------------
    为什么要关闭?
    Transparent Huge Pages (THP) is a Linux memory management system 
    that reduces the overhead of Translation Lookaside Buffer (TLB) 
    lookups on machines with large amounts of memory by using larger memory pages.
    However, database workloads often perform poorly with THP, 
    because they tend to have sparse rather than contiguous memory access patterns. 
    You should disable THP on Linux machines to ensure best performance with MongoDB.
    ############################################################################    

    2、创建所需用户, 组及所需目录结构

    useradd mongod
    passwd mongod
    
    mkdir -p /mongodb/conf
    mkdir -p /mongodb/log
    mkdir -p /mongodb/data
    chown -R mongod:mongod /mongodb

    上传并解压软件到指定位置

    [root@db01 data]# cd   /data
    [root@db01 data]# tar xf mongodb-linux-x86_64-rhel70-3.6.12.tgz 
    [root@db01 data]#  cp -r /data/mongodb-linux-x86_64-rhel70-3.6.12/bin/ /mongodb

    设置用户环境变量

    su - mongod
    vi .bash_profile
    export PATH=/mongodb/bin:$PATH
    source .bash_profile

    启动mongodb

    mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork 
    [mongod@server2 ~]$ mongo  # 连接mongodb

    配置参数介绍(配置文件位置及命名无要求, 参考代码最后几行)

    YAML模式
    
    NOTE:
    YAML does not support tab characters for indentation: use spaces instead.
    
    --系统日志有关  
    systemLog:
       destination: file        
       path: "/mongodb/log/mongodb.log"    --日志位置
       logAppend: true                     --日志以追加模式记录
      
    --数据存储有关   
    storage:
       journal:
          enabled: true
       dbPath: "/mongodb/data"            --数据路径的位置
    
    -- 进程控制  
    processManagement:
       fork: true                         --后台守护进程
       pidFilePath: <string>              --pid文件的位置,一般不用配置,可以去掉这行,自动生成到data中
        
    --网络配置有关   
    net:            
       bindIp: <ip>                       -- 监听地址
       port: <port>                       -- 端口号,默认不配置端口号,是27017
       
    -- 安全验证有关配置      
    security:
      authorization: enabled              --是否打开用户名密码验证
      
    ------------------以下是复制集与分片集群有关----------------------  
    
    replication:
     oplogSizeMB: <NUM>
     replSetName: "<REPSETNAME>"
     secondaryIndexPrefetch: "all"
     
    sharding:
       clusterRole: <string>
       archiveMovedChunks: <boolean>
          
    ---for mongos only
    replication:
       localPingThresholdMs: <int>
    
    sharding:
       configDB: <string>
    ---
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    YAML例子
    cat >  /mongodb/conf/mongo.conf <<EOF
    systemLog:
       destination: file
       path: "/mongodb/log/mongodb.log"
       logAppend: true
    storage:
       journal:
          enabled: true
       dbPath: "/mongodb/data/"
    processManagement:
       fork: true
    net:
       port: 27017
       bindIp: 10.0.0.51,127.0.0.1
    EOF
    mongod -f /mongodb/conf/mongo.conf --shutdown  # 关闭mongodb
    mongod -f /mongodb/conf/mongo.conf   # 启动mongodb

    mongodb的关闭方式

    mongod -f /mongodb/conf/mongo.conf --shutdown

    mongodb 使用systemd管理

    [root@db01 ~]# cat > /etc/systemd/system/mongod.service <<EOF
    [Unit]
    Description=mongodb 
    After=network.target remote-fs.target nss-lookup.target
    [Service]
    User=mongod
    Type=forking
    ExecStart=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf --shutdown
    PrivateTmp=true  
    [Install]
    WantedBy=multi-user.target
    EOF
    
    [root@db01 ~]# systemctl restart mongod
    [root@db01 ~]# systemctl stop mongod
    [root@db01 ~]# systemctl start mongod

    66

  • 相关阅读:
    地税某数据库异常重启和重启后数据库运行缓慢问题的解决过程
    Oracle 索引 详解
    oracle数据库优化基本概念
    oracle物理读和逻辑读
    SQL 优化之该走索引却不走索引的分析(二)
    数据仓库中的分区修剪
    查询低效率的sql语句
    oracle优化的几个简单步骤
    VBS类似于ceil的函数
    ruby符号的应用
  • 原文地址:https://www.cnblogs.com/quzq/p/13276009.html
Copyright © 2011-2022 走看看