如何在RHEL 8 CentOS8 上安装MongoDB 4.4
在本指南中,我们将介绍在RHEL 8/CentOS 8上安装MongoDB 4.4的步骤。MongoDB是用C ++编写的开源NoSQL数据库系统,旨在确保可伸缩性,高性能和可用性。
MongoDB的常见用例是存储和管理大数据大小的文字文档集合,例如文本文档,电子邮件,XML文档以及许多其他文档。
在RHEL 8/CentOS 8上安装MongoDB 4.4
MongoDB 4在yum存储库上可用。通过运行以下命令将存储库添加到RHEL 8服务器:
sudo tee /etc/yum.repos.d/mongodb-org-4.repo<<EOF [mongodb-org-4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOF
我们需要以具有sudo特权的用户身份运行上述命令。
添加仓库后,安装mongodb-org
软件包。
sudo yum install mongodb-org
按y键开始在CentOS 8上安装MongoDB4.x。 RHEL 8.
MongoDB Repository 22 kB/s | 9.7 kB 00:00 Dependencies resolved. ===================================================================================================================================================================================================== Package Architecture Version Repository Size ===================================================================================================================================================================================================== Installing: mongodb-org x86_64 4.4.1-1.el8 mongodb-org-4 10 k Installing dependencies: cyrus-sasl x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 96 k cyrus-sasl-gssapi x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 49 k cyrus-sasl-plain x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 47 k mongodb-database-tools x86_64 100.2.0-1 mongodb-org-4 55 M mongodb-org-database-tools-extra x86_64 4.4.1-1.el8 mongodb-org-4 20 k mongodb-org-mongos x86_64 4.4.1-1.el8 mongodb-org-4 22 M mongodb-org-server x86_64 4.4.1-1.el8 mongodb-org-4 28 M mongodb-org-shell x86_64 4.4.1-1.el8 mongodb-org-4 18 M mongodb-org-tools x86_64 4.4.1-1.el8 mongodb-org-4 10 k python2 x86_64 2.7.17-2.module+el8.3.0+7681+f1f02ded rhel-8-appstream-rhui-rpms 109 k python2-libs x86_64 2.7.17-2.module+el8.3.0+7681+f1f02ded rhel-8-appstream-rhui-rpms 6.0 M python2-pip-wheel noarch 9.0.3-18.module+el8.3.0+7707+eb4bba01 rhel-8-appstream-rhui-rpms 1.0 M python2-setuptools-wheel noarch 39.0.1-12.module+el8.3.0+7075+8484f0d0 rhel-8-appstream-rhui-rpms 287 k Installing weak dependencies: python2-pip noarch 9.0.3-18.module+el8.3.0+7707+eb4bba01 rhel-8-appstream-rhui-rpms 1.7 M python2-setuptools noarch 39.0.1-12.module+el8.3.0+7075+8484f0d0 rhel-8-appstream-rhui-rpms 642 k Enabling module streams: python27 2.7 Transaction Summary ===================================================================================================================================================================================================== Install 16 Packages Total download size: 133 M Installed size: 420 M Is this ok [y/N]: y
还接受导入GPG密钥:
warning: /var/cache/dnf/mongodb-org-4-cef71e585db45e10/packages/mongodb-database-tools-100.2.0.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 90cfb1f5: NOKEY MongoDB Repository 4.9 kB/s | 1.6 kB 00:00 Importing GPG key 0x90CFB1F5: Userid : "MongoDB 4.4 Release Signing Key <theitroad@localhost>" Fingerprint: 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5 From : https://www.mongodb.org/static/pgp/server-4.4.asc Is this ok [y/N]: y
上述软件包的安装将安装以下依赖项软件包:
mongodb-org-server这提供了MongoDB daemonmongod
mongodb-org-mongos这是一个MongoDB Shard守护程序
mongodb-org-shell这为MongoDB提供了一个shell
mongodb-org-tools用于导出,转储和导入等的MongoDB工具
我们可以验证上述软件包的安装,例如
$rpm -qi mongodb-org-server Name : mongodb-org-server Version : 4.4.1 Release : 1.el8 Architecture: x86_64 Install Date: Fri 06 Nov 2017 06:04:10 AM UTC Group : Applications/Databases Size : 82198023 License : SSPL Signature : RSA/SHA1, Wed 09 Sep 2017 08:18:26 PM UTC, Key ID 656408e390cfb1f5 Source RPM : mongodb-org-4.4.1-1.el8.src.rpm Build Date : Tue 08 Sep 2017 03:07:42 PM UTC Build Host : ip-10-122-73-75.ec2.internal Relocations : /usr URL : http://www.mongodb.org Summary : MongoDB database server
在RHEL 8/CentOS 8上配置MongoDB
安装软件包后,我们可以在启动服务之前开始自定义和配置MongoDB。
标签MongoDB端口
如果我们将SELinux设置为强制模式,则可能需要标记端口" 27017"
sudo semanage port -a -t mongod_port_t -p tcp 27017
允许防火墙上的mongo端口
如果服务器上运行了防火墙,并且希望可以通过网络访问MongoDB服务,请在防火墙上将其打开:
sudo firewall-cmd --add-port=27017/tcp --permanent sudo firewall-cmd --reload
我们还可以根据源地址限制访问权限:
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \ source address="10.10.20.0/24" port protocol="tcp" port="27017" accept"
使用辅助磁盘存储MongoDB数据可选
我们始终可以使用专用磁盘/虚拟磁盘来存储MongoDB数据。可以像下面这样配置
:为MongoDB数据分区辅助磁盘:
# lsblk | grep vdb vdb 252:16 0 50G 0 disk
:为辅助磁盘创建GPT分区表,它可以比onde磁盘更多
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 vg11 /dev/vdb1 sudo lvcreate -n data -l 100%FREE vg11
第4步:在创建的逻辑卷上创建XFS文件系统
sudo mkfs.xfs /dev/mapper/vg11-data
:创建安装点并安装分区
echo "/dev/mapper/vg11-data /data xfs defaults 0 0" | sudo tee -a /etc/fstab sudo mkdir /data sudo mount -a
:为MongoDB资料建立资料夹
sudo mkdir /data/mongo sudo chown -R mongod:mongod /data/mongo sudo chmod -R 775 /data/mongo
:确认分区安装成功:
df -hT | grep /data/mongo
第8步:更改/etc/mongod.conf
上的MongoDB数据存储位置
storage: dbPath: /data/mongo journal: enabled: true
启动MongoDB服务
设置全部后,启动并设置mongod服务以在引导时启动。
sudo systemctl enable --now mongod
如果服务已成功启动,则应显示"正在运行"状态。
$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 Sat 2019-01-05 12:12:28 EAT; 4s ago Docs: https://docs.mongodb.org/manual Process: 2163 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Process: 2161 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 2160 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 2158 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Main PID: 2166 (mongod) Memory: 70.1M CGroup: /system.slice/mongod.service └─2166 /usr/bin/mongod -f /etc/mongod.conf Jan 05 12:12:27 localhost.localdomain systemd[1]: Starting MongoDB Database Server… Jan 05 12:12:27 localhost.localdomain mongod[2163]: about to fork child process, waiting until server is ready for connections. Jan 05 12:12:27 localhost.localdomain mongod[2163]: forked process: 2166 Jan 05 12:12:28 localhost.localdomain mongod[2163]: child process started successfully, parent exiting Jan 05 12:12:28 localhost.localdomain systemd[1]: Started MongoDB Database Server.
对于身份验证,请查看有关如何配置MongoDB 4身份验证的指南。