【问题标题】:MonogDB 3.4 in Ubuntu 20.04Ubuntu 20.04 中的 MongoDB 3.4
【发布时间】:2021-03-15 13:33:44
【问题描述】:

在生产应用程序中,我们使用的是 MongoDB 3.4 版本。我在本地机器上安装了 ubuntu 20.04 LTS,并尝试安装 Mongo 3.4 并撞到墙上。请让我知道你的想法。这是我的步骤:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.com/apt/ubuntu "$(lsb_release -sc)"/mongodb-enterprise/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org 

【问题讨论】:

    标签: mongodb ubuntu ubuntu-20.04 mongodb-3.4


    【解决方案1】:

    嗯,我只是用一种更“手工”的方式来做这件事……

    从这里下载应用程序:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.24.tgz (它是,让我们从 mongodb 页面调用 vanila 版本)

    在 /opt 上解压缩:

    tar zxf mongodb-linux-x86_64-3.4.24.tgz -C /opt/

    短名称的符号链接:

    ln -s /opt/mongodb-linux-x86_64-3.4.24 /opt/mongo

    为 mongo 创建了用户:

    useradd -r mongod

    然后添加systemctl命令:

    echo "[Unit]
    Description=High-performance, schema-free document-oriented database
    After=network.target
    
    [Service]
    User=mongod
    ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
    
    [Install]
    WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
    

    重新加载systemctl:

    systemctl daemon-reload

    然后创建 /etc/mongod.conf,内容如下:

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
      dbPath: /opt/mongo/database/
      journal:
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongod.log
    
    # network interfaces
    net:
      port: 27017
    #  bindIp: 127.0.0.1
    
    
    #processManagement:
    
    #security:
    
    #operationProfiling:
    
    #replication:
    #  replSetName: "mongodb-keys-replica-set"
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    

    然后启动服务:

    systemctl start mongod

    根据需要调整配置和目录路径。

    它有效,是一个为那个 ubuntu 版本的旧版本手工制作的解决方案。不会使用 apt-get 或相关更新...但可以正常工作。

    如果在本地,出于测试目的,使用 docker 映像可能不是一个坏主意...但只是一个建议,而不是您问题的答案。

    【讨论】:

      【解决方案2】:

      以上答案是正确的,但不要忘记:

      1. 创建目录和文件,更改所有者

        mkdir /opt/mongo/database
        touch /var/log/mongod.log
        
        chown mongod:mongod /var/log/mongod.log
        chown -R mongod:mongod /opt/mongodb-linux-x86_64-3.4.24
        chown mongod:mongod /opt/mongo
        
      2. 以root身份执行这部分,mongo的链接错误,应该如下:

        echo "[Unit]
        Description=High-performance, schema-free document-oriented database
        After=network.target
        
        [Service]
        User=mongod
        ExecStart=/opt/mongo/bin/mongod --quiet --config /etc/mongod.conf
        
        [Install]
        WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
        

      【讨论】:

        【解决方案3】:

        这似乎没有简单的方法,因为官方文档本身说对于版本 3.4,唯一受支持的 ubuntu 版本是 16.04 和 14.04 (https://docs.mongodb.com/v3.4/tutorial/install-mongodb-on-ubuntu/)。

        我尝试了ignivs的上述步骤,但每次都遇到这个错误:

        无法启动 mongod.service:未找到单元 mongod.service。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-24
          • 2021-10-14
          • 2021-08-22
          • 2022-12-04
          • 2020-09-01
          • 2020-08-22
          相关资源
          最近更新 更多