• [Mongodb] Tarball二进制包安装过程


    一、缘由:

      用在线安装的方式安装mongodb,诚然很方便。但文件过于分散,如果在单机多实例的情况下,就不方便管理。

    对于数据库的管理,我习惯将所有数据(配置)文件放在一个地方,方便查找区分。

    二、解决办法:

    1、下载二进制包

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.10.tgz

    2、解压并程序更换目录

    tar -zxvf mongodb-linux-x86_64-3.2.10.tgz

    sudo mv mongodb-linux-x86_64-3.2.10 /usr/local/mongodb-3.2.10

    sudo chown -R root:root /usr/local/mongodb-3.2.10

    3、更改环境变量

    为了可以直接在shell下敲mongo进入mongodb,需在/etc/profile中添加

    export PATH=/usr/local/mongodb-3.2.10/bin:$PATH

    使环境变量生效

    source /etc/profile 或者

    sudo bash -c "source /etc/profile"

    4、添加mongod用户

    因为不建议用root启动mongodb,这里用mongod用户启动

    sudo groupadd mongod
    sudo adduser mongod -g mongod

    5、增加配置文件

    在程序目录下新增mongodb配置文件mongod_27017.conf,具体内容如下:

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /data/mongodb_data/27017/mongod.log
    
    # Where and how to store data.
    storage:
      dbPath: /data/mongodb_data/27017/data/
      journal:
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # how the process runs
    processManagement:
      fork: true  # fork and run in background
      pidFilePath: /data/mongodb_data/27017/mongod.pid  # location of pidfile
    
    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
    
    #security:
    #    authorization: enabled
    
    #operationProfiling:
    
    replication:
        replSetName: replica_test
    
    #sharding:
    
    ## Enterprise-Only Options
    
    #auditLog:
    
    #snmp:

    6、创建数据文件目录

    sudo mkdir -p /data/mongodb_data/27017/data

    sudo chown -R mongod.mongod /data/mongodb_data/27017

    7、启动mongodb

    启动前需要先安装numactl,使用它启动mongodb,忽略numa架构带来的影响。

    sudo yum install numactl -y

    sudo su -l mongod -c "numactl --interleave=all mongod -f /usr/local/mongodb-3.2.10/mongod_27017.conf "

    或者

    sudo su - mongod

    numactl --interleave=all mongod -f /usr/local/mongodb-3.2.10/mongod_27017.conf

     

    三、附加内容:

    1、进入mongodb后,会看到一些warning信息,需要我们调整一下相应的系统变量,将来才能避免踩到某些坑。

    sudo bash -c "echo 0 > /proc/sys/vm/zone_reclaim_mode"

    sudo bash -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"

    sudo bash -c "echo never > /sys/kernel/mm/transparent_hugepage/defrag"

    关于NUMA的Warnging,请用numactl --interleave=all mongod 启动;

    关于soft rlimits too low,请调整ulimit -u 数值(用户拥有最大进程数)

    2、Centos 6 安装Mongodb方法

    1)添加一个yum仓库

    sudo vim  /etc/yum.repos.d/mongodb-org-3.2.repo 

    [mongodb-org-3.2]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

    2)安装mongodb

    sudo yum install -y mongodb-org

    3)启动mongodb

    sudo service mongodb start

  • 相关阅读:
    Spring阶段性学习:基础、配置解析、回调
    谈谈Spring对于@Configuration的Cglib代理
    IDEA使用Docker插件部署jar
    实用的IDEA插件
    Alibaba Cloud Toolkit插件部署jar
    谈谈Spring的ImportSelector和ImportBeanDefinitionRegistrar
    谈谈Spring的ConfigurationClassPostProcessor
    Mariadb使用总结
    分布式开放消息系统(RocketMQ)的原理与实践
    redis学习笔记
  • 原文地址:https://www.cnblogs.com/langdashu/p/6022225.html
Copyright © 2020-2023  润新知