本文主要记录了Linux环境下mongoDB 4搭建的搭建过程。
环境
- Linux version 4.18.0-80.11.2.el8_0.x86_64(Red Hat 8.2.1-3)
- mongodb-org-server-4.0.5-1.el7.x86_64.rpm
- mongodb-org-shell-4.0.5-1.el7.x86_64.rpm
- mongodb-org-tools-4.0.5-1.el7.x86_64.rpm
- mongodb-org-mongos-4.0.5-1.el7.x86_64.rpm
搭建步骤
下载
下载下面4个包
- mongodb-org-server-4.0.5-1.el7.x86_64.rpm
- mongodb-org-shell-4.0.5-1.el7.x86_64.rpm
- mongodb-org-tools-4.0.5-1.el7.x86_64.rpm
- mongodb-org-mongos-4.0.5-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-server-4.0.5-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-shell-4.0.5-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-tools-4.0.5-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-mongos-4.0.5-1.el7.x86_64.rpm
安装
- 安装mongodb-org-server-4.0.5-1.el7.x86_64.rpm(mongoDB 的服务端程序,mongoDB的配置和初始化脚本)
rpm -ivh mongodb-org-server-4.0.5-1.el7.x86_64.rpm
这时我这边有个报错,如下:
error: Failed dependencies:
libcrypto.so.10()(64bit) is needed by mongodb-org-server-4.0.5-1.el7.x86_64
libssl.so.10()(64bit) is needed by mongodb-org-server-4.0.5-1.el7.x86_64
通过rpm -ivh *.rpm --nodeps --force解决,执行这行脚本的意义在于安装时不再分析包之间的依赖关系而直接安装,也就不会再提示error: Failed dependencies:这样的错误
- 安装mongodb-org-shell-4.0.5-1.el7.x86_64.rpm (安装之后可以用命令连接mongoDB)
rpm -ivh mongodb-org-shell-4.0.5-1.el7.x86_64.rpm --nodeps --force
- 安装mongodb-org-tools-4.0.5-1.el7.x86_64.rpm (一些工具包,比如我们导出mongoDB的数据,包含
mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop)
rpm -ivh mongodb-org-tools-4.0.5-1.el7.x86_64.rpm --nodeps --force
- 安装mongodb-org-mongos-4.0.5-1.el7.x86_64.rpm (mongos的守护进程,用于部署集群)
rpm -ivh mongodb-org-mongos-4.0.5-1.el7.x86_64.rpm --nodeps --force
配置
安装完成后,会生在 /etc/下面生成一个默认的mongod.conf配置文件,配置了 mongoDB 默认的配置,如下:
# 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: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
# 数据文件存放路径
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
# 运行时进程文件存放路径
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
# 服务默认端口号
port: 27017
# 绑定的 ip 地址
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
我们将系统日志、数据文件存放路径改了,其他使用默认的
启动
- 执行systemctl start mongodb,这时有个报错,如下:
Failed to start mongodb.service: Unit mongodb.service not found.
百度了一下,参考以下文章解决:
MongoDB报错: Failed to start mongod.service: Unit mongodb.service is masked
systemctl restart mongod.service 重启报错