如何在CentOS 7/Fedora 31/30/29上安装MongoDB 4.2
欢迎来到我们的教程,了解如何在CentOS 7/Fedora 31/30/29/28上安装MongoDB 4.2. MongoDB是用C ++编写的开源NoSQL数据库系统。它旨在实现高可伸缩性,性能和可用性。
更新系统
我们始终在更新的系统上工作
--- CentOS -- $sudo yum -y update --- Fedora -- $sudo dnf -y update
添加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
在CentOS 7/Fedora 31/30/29上安装MongoDB 4.2
接下来是在CentOS 7/Fedora 31/30/29/28上安装mongodb-org
软件包。
在Fedora 31/30/29/28上安装MongoDB 4.
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 daemonmongod
mongodb-org-mongos这是一个MongoDB Shard守护程序
mongodb-org-shell这为MongoDB提供了一个shell
mongodb-org-tools用于导出,转储和导入等的MongoDB工具
配置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数据。
:为MongoDB数据分区辅助磁盘:
$lsblk | grep vdb vdb 252:16 0 50G 0 disk
:为辅助磁盘创建一个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
:创建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
:创建安装点并安装分区
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
:确认分区安装成功:
$df -hT | grep /var/lib/mongo /dev/mapper/vg0-mongo xfs 50G 33M 50G 1% /var/lib/mongo
:设置MongoDB数据存储位置
$sudo vim /etc/mongod.conf storage: dbPath: /var/lib/mongo journal: enabled: true
启动并启用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.local systemd[1]: Starting MongoDB Database Server... Nov 03 07:31:19 fed31.theitroad.local mongod[4379]: about to fork child process, waiting until server is ready for connections. Nov 03 07:31:19 fed31.theitroad.local mongod[4379]: forked process: 4381 Nov 03 07:31:20 fed31.theitroad.local mongod[4379]: child process started successfully, parent exiting Nov 03 07:31:20 fed31.theitroad.local systemd[1]: Started MongoDB Database Server. Nov 03 07:31:20 fed31.theitroad.local systemd[1]: /usr/lib/systemd/system/mongod.service:16: PIDFile= references a path below legacy directo>