• 【MonoDB】MongoDB自动化安装脚本


    #!/bin/bash
    soft_dir="/tmp"
    soft_name="mongodb-linux-x86_64-rhel70-4.4.14.tgz"
    
    #安装依赖
    yum install libcurl openssl xz-libs wget -y
    
    #下载安装包
    cd $soft_dir
    [ -f $soft_name ] || wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.14.tgz
    tar xvf $soft_name -C /usr/local
    cd /usr/local
    ln -s mongodb-linux-x86_64-rhel70-4.4.14 mongodb
    
    
    #设置环境变量
    echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> /etc/profile
    
    #增加mongodb启动用户
    groupadd mongod
    useradd -r -g mongod mongod
    echo "mongod" | passwd --stdin mongod
    
    #内核参数配置
    echo "mongo     hard    cpu     unlimited" >> /etc/security/limits.conf   
    echo "mongo     soft    cpu     unlimited" >> /etc/security/limits.conf
    echo "mongo     hard    memlock unlimited" >> /etc/security/limits.conf
    echo "mongo     soft    memlock unlimited" >> /etc/security/limits.conf
    echo "mongo     hard    nofile  65535    " >> /etc/security/limits.conf
    echo "mongo     soft    nofile  65535    " >> /etc/security/limits.conf
    echo "mongo     hard    nproc   192276   " >> /etc/security/limits.conf
    echo "mongo     soft    nproc   192276   " >> /etc/security/limits.conf
    echo "mongo     hard    fsize   unlimited" >> /etc/security/limits.conf
    echo "mongo     soft    fsize   unlimited" >> /etc/security/limits.conf
    echo "mongo     hard    as      unlimited" >> /etc/security/limits.conf
    echo "mongo     soft    as      unlimited" >> /etc/security/limits.conf
    
    # vi /root/.bashrc
    echo "ulimit -u unlimited" >> /root/.bashrc
    
    
    #调整网络参数
    #编辑/etc/sysctl.conf或者/etc/sysctl.d/mongodb-sysctl.conf
    echo "net.core.somaxconn = 4096"     >> /etc/sysctl.conf
    echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_keepalive_intvl = 30" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_keepalive_time = 120" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_max_syn_backlog = 4096" >> /etc/sysctl.conf
    
    ##可以使用一下命令查看参数的值
    ##$ sysctl net.core.somaxconn
    ##net.core.somaxconn = 4096
    
    #时间同步
    (crontab -l;echo '0 1 * * * ntpdate -u 223.5.5.5 > /tmp/null') | crontab 
    
    
    #创建数目录和日志目录,并给mongod权限
    mkdir -p /data/mongo_data/data
    mkdir -p /data/mongo_data/log
    chown -R mongod:mongod /data/ /usr/local/mongodb
    
    #设置配置文件
    echo "systemLog:
      quiet: false
      destination: file
      logAppend: true
      path: /data/mongo_data/log/mongod.log
    storage:
      dbPath: /data/mongo_data/data
      directoryPerDB: true
    
      journal:
        enabled: true
      wiredTiger:
        engineConfig:
          directoryForIndexes: true
    processManagement:
      fork: true # fork and run in background
      pidFilePath: /data/mongo_data/mongod.pid # location of pidfile
    net:
      port: 27017
      bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
    #security:
    #  authorization: enabled
    #  javascriptEnabled: false" > /etc/mongod.conf
    
    chown mongod:mongod /etc/mongod.conf
    
    #设置启动脚本
    
    echo '
    [Unit]
    Description=High-performance, schema-free document-oriented database
    After=network.target
    Documentation=https://docs.mongodb.org/manual
    [Service]
    User=mongod
    Group=mongod
    Environment="OPTIONS=--quiet -f /etc/mongod.conf"
    ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS 
    PIDFile=/data/mongo_data/mongod.pid
    # file size
    LimitFSIZE=infinity
    # cpu time
    LimitCPU=infinity
    # virtual memory size
    LimitAS=infinity
    # open files
    LimitNOFILE=64000
    # processes/threads
    LimitNPROC=64000
    # total threads (user+kernel)
    TasksMax=infinity
    TasksAccounting=false
    # Recommended limits for for mongod as specified in
    # http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
    [Install]
    WantedBy=multi-user.target
    ' > /usr/lib/systemd/system/mongod.service
    
    chmod 644 /usr/lib/systemd/system/mongod.service
    source /etc/profile
    systemctl daemon-reload
    systemctl enable mongod
    systemctl restart mongod.service
    systemctl status mongod.service
    
    
    ##安装工具
    wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.5.2.rpm
    rpm -ivh mongodb-database-tools-rhel70-x86_64-100.5.2.rpm
    

      

  • 相关阅读:
    DL/T 467-2019 电站磨煤机及制粉系统性能试验
    fidlder-05(拦截并修改数据)
    fiddler-04(怎么对APP抓包)
    Redis5设计与源码分析读后感(二)简单动态字符串SDS
    Jedis连接搭建在阿里云服务器上的Redis,基于Linux(CentOS7)
    centos7下安装redis6.0版本+3种启动方式
    Linux下端口被占用的解决方法
    Linux卸载Nginx
    linux中普通用户修改密码出现(passwd:Authentication token manipulation error)
    linux重置密码提示与用户名相似该怎么解决?
  • 原文地址:https://www.cnblogs.com/abclife/p/16390177.html
Copyright © 2020-2023  润新知