如何在Centos 7/Fedora 31/30/29上安装MongoDB 4.2

时间:2020-02-23 14:32:21  来源:igfitidea点击:

欢迎我们关于如何在Centos 7/Fedora 31/30/29/28上安装MongoDB 4.2的教程。
MongoDB是用C ++编写的NoSQL数据库系统的开源数据库系统。
它专为高可扩展性,性能和可用性而设计。

第1步:更新系统

我们始终在更新系统上工作

--- CentOS --
$sudo yum -y update
--- Fedora --
$sudo dnf -y update

第2步:添加DNF/YUM MongoDB存储库

在CentOS 7/Fedora 30/29/28上安装MongoDB 4的第一步是将存储库添加到系统。

添加MongoDB 4存储库。

cat <<EOF | sudo tee /etc/yum.repos.d/mongodb.repo
[mongodb-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF

第3步:安装MongoDB 4.2上CentOS 7/Fedora 31/30/29

接下来是安装 mongodb-orgCentos 7/Fedora 31/30/29/28的软件包。

在Fedora安装MongoDB 4 31/30/29/28.

sudo dnf -y install mongodb-org

在CentOS 7上安装MongoDB 4:

sudo yum -y install mongodb-org

我们可以使用以下命令查看安装MongoDB的版本:

$mongo -version
MongoDB shell version v4.2.1
git version: edf6d45851c0b9ee15548f0f847df141764a317e
OpenSSL version: OpenSSL 1.0.1e-fips 11 Nov 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64

安装 mongodb-org包将安装:

MongoDB-Org-Server - 这提供了MongoDB Daemon Mongod Mongodb-Org-Mongos - 这是MongoDB Shard Daemon MongoDB-Org-shell - 这为MongoDB MongoDB-Org-Tools - MongoDB工具提供了用于出口,转储,导入的壳牌等等

第4步:配置MongoDB(可选)

我们可以在开始服务之前自定义MongoDB安装。

标签MongoDB港口

如果在执行模式下有SELinux,则可能需要标记端口 27017

sudo semanage port -a -t mongod_port_t -p tcp 27017
允许防火墙上的MongoDB端口

如果你有活跃 firewalld服务器上的服务,并希望通过网络访问MongoDB服务,允许端口 27017/tcp

sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload

我们还可以基于源地址限制访问权限

sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="192.168.5.0/24" port protocol="tcp" port="27017" accept"

使用辅助磁盘用于MongoDB数据(可选)

我们可以选择使用专用磁盘来存储MongoDB数据。

第1步:MongoDB数据的分区次级磁盘:

$lsblk  | grep vdb
vdb             252:16   0  50G  0 disk

第2步:为辅助磁盘创建一个GPT分区表,它可以是多个磁盘:

sudo parted -s -a optimal -- /dev/vdb mklabel gpt
sudo parted -s -a optimal -- /dev/vdb mkpart primary 0% 100%
sudo parted -s -- /dev/vdb align-check optimal 1

第3步:创建LVM卷,这将使扩展分区很容易:

sudo pvcreate  /dev/vdb1
sudo vgcreate vg0 /dev/vdb1
sudo lvcreate -n mongo -l 100%FREE vg0

第4步:创建 XFS创建逻辑卷上的文件系统。

$sudo mkfs.xfs /dev/mapper/vg0-mongo
meta-data=/dev/mapper/vg0-mongo isize=512    agcount=4, agsize=6553344 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=26213376, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=12799, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

步骤5:创建挂载点并安装分区

echo "/dev/mapper/vg0-mongo /var/lib/mongo xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mount -a
sudo chown -R mongod:mongod /var/lib/mongo
sudo chmod -R 775 /data/mongo

步骤7:确认分区安装挂载成功:

$df -hT | grep  /var/lib/mongo
/dev/mapper/vg0-mongo xfs        50G   33M   50G   1% /var/lib/mongo

第8步:设置MongoDB数据存储位置

$sudo vim /etc/mongod.conf
 storage:
 dbPath: /var/lib/mongo 
 journal:
   enabled: true

第5步:启动并启用MongoDB服务

最后一步是启动并启用MongoDB服务开始启动

sudo systemctl start mongod.service
sudo systemctl enable mongod.service

运行检查状态:

$sudo systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-11-03 07:31:20 UTC; 6s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 4381 (mongod)
   Memory: 72.0M
      CPU: 509ms
   CGroup: /system.slice/mongod.service
           └─4381 /usr/bin/mongod -f /etc/mongod.conf
Nov 03 07:31:19 fed31.theitroad.com systemd[1]: Starting MongoDB Database Server...
Nov 03 07:31:19 fed31.theitroad.com mongod[4379]: about to fork child process, waiting until server is ready for connections.
Nov 03 07:31:19 fed31.theitroad.com mongod[4379]: forked process: 4381
Nov 03 07:31:20 fed31.theitroad.com mongod[4379]: child process started successfully, parent exiting
Nov 03 07:31:20 fed31.theitroad.com systemd[1]: Started MongoDB Database Server.
Nov 03 07:31:20 fed31.theitroad.com systemd[1]: /usr/lib/systemd/system/mongod.service:16: PIDFile= references a path below legacy directo>