首页 > 数据库 >MongoDB——Centos五步安装并设置服务自启(一)

MongoDB——Centos五步安装并设置服务自启(一)

时间:2023-08-15 10:02:22浏览次数:41  
标签:服务 Centos MongoDB systemctl mongodb 自启 data 目录


 简介:

官方地址:MongoDB: The Developer Data Platform | MongoDB

MongoDB是一个开源的NoSQL数据库管理系统,它使用文档型数据模型来存储数据,以下是MongoDB的基本信息

  1. 文档型数据存储:MongoDB使用BSON(Binary JSON)格式存储数据,它是一种类似于JSON的二进制表示形式。每个文档是一个包含字段和值的键值对集合,类似于关系型数据库中的行。
  2. 非结构化数据:与传统的关系型数据库相比,MongoDB是一个非结构化数据库,不需要提前定义表结构和字段。每个文档可以具有不同的结构,可以根据需要灵活地添加、删除和修改字段。
  3. 可扩展性:MongoDB具有良好的可扩展性,可以支持大规模数据存储和高吞吐量的工作负载。它支持水平扩展,通过分片(sharding)将数据分布在多个服务器上,以实现更好的性能和容量。
  4. 强大的查询功能:MongoDB提供了丰富的查询功能,支持复杂的查询操作,包括条件查询、范围查询、聚合查询、文本搜索等。它还支持创建索引来加快查询速度。
  5. 高可用性和容错性:MongoDB支持复制集(replica set),它是一组具有相同数据集的MongoDB实例。复制集提供了数据的冗余备份和自动故障转移功能,以实现高可用性和容错性。
  6. 社区活跃和丰富的生态系统:MongoDB拥有庞大的开发者社区和丰富的生态系统,提供了各种工具、驱动程序和库,以满足不同编程语言和应用程序的需求。

MongoDB适用于许多应用场景,特别是对于需要处理大量非结构化数据、需要灵活性和可扩展性的应用程序。它广泛应用于Web应用程序、大数据分析、实时分析、物联网(IoT)等领域。


1、下载

官网下载地址:Download MongoDB Community Server | MongoDB

MongoDB——Centos五步安装并设置服务自启(一)_mongodb

如果你的选择和我是一样,可直接点击以下链接下载:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.8.tgz

你可以选择直接在服务器上使用wget命令进行下载

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.8.tgz

也可以下载到本地之后,在通过sftp上传到服务器中。


2、解压

# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.8.tgz

# 重命名
mv mongodb-linux-x86_64-6.0.8 mongodb

MongoDB 服务在启动时需要指定数据存储的目录。如果没有指定的话,默认会去找 /data/db/ 目录,如果数据目录不存在或不可写,那么服务器端将无法启动。

# 创建数据存放目录和日志目录
cd mongodb
# data文件夹存放数据库目录
mkdir data
# logs文件夹存放操作日志信息
mkdir logs

MongoDB——Centos五步安装并设置服务自启(一)_数据库_02

3、启动

执行以下命令

bin/mongod --fork --dbpath=/data/mongodb/data --logpath=/data/mongodb/logs/mongo.log
  • fork:在后台运行 mongod 进程,将 MongoDB 服务作为守护进程运行,如果指定了fork,则必须同时指定logpath。
  • dbpath:指定 MongoDB 数据库文件的存储路径,启动服务时必须指定。
  • logpath:指定 MongoDB 日志文件的存储路径,默认日志是打印在命令行中的。如果对此目录有写权限且文件不存在,则会自动创建该文件。如果日志文件已经存在,默认会覆盖掉该文件,并删除所有旧的日志。如果希望保留旧的日志,除了使用 logpath 之外,还应该使用logappend 选项。 

执行命令出现以下信息,表示启动成功

MongoDB——Centos五步安装并设置服务自启(一)_数据库_03

保险起见,我们监听下端口号 

lsof -i :27017

有以下信息则表示MongoDB正在运行 

MongoDB——Centos五步安装并设置服务自启(一)_数据库_04

MongoDB——Centos五步安装并设置服务自启(一)_mongodb_05

4、配置

以上的启动命令只合适在开发环境使用,实际生产环境,需要更多的MongoDB的配置,比如端口号、监听的 IP 地址、认证机制等等,所以我们可以创建一个conf文件,来配置我们的MongoDB。

在我们的mongdb目录下创建一个mongdb.conf 文件

# 创建目录
cd /data/mongodb
vim mongo.conf

MongoDB——Centos五步安装并设置服务自启(一)_systemctl_06

vim命令后,按 i 键进入编辑模式,将以下配置粘贴进去,注意:6.x版本与老版本的配置不同

# 存储相关配置
storage:
  dbPath: /data/mongodb/data
  journal:
    enabled: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1

# 网络相关配置
net:
  bindIp: 127.0.0.1
  port: 27017

# 日志相关配置
systemLog:
  destination: file
  path: /data/mongodb/logs/mongod.log
  logAppend: true

# 安全相关配置
security:
  authorization: disabled

# 复制集相关配置
replication:
  replSetName: node-1

# 其他配置项...
processManagement:
  fork: true

MongoDB——Centos五步安装并设置服务自启(一)_linux_07

使用配置方式启动MongoDB

bin/mongod --config /data/mongodb/mongo.conf

MongoDB——Centos五步安装并设置服务自启(一)_数据库_08

5、系统服务自启

给我们的MongoDB设置成系统服务,就可以简单的通过`systemctl`进行启动停止重启了

编写mongodb.service文件,如果对文件存放的目录`/etc/systemd/system`有所疑问文章末尾有说明

cd /etc/systemd/system

vim mongod

vim命令后,按 i 键进入编辑模式,将以下配置粘贴进去

[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target

[Service]
ExecStart=/data/mongodb/bin/mongod --config /data/mongodb/mongo.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/data/mongodb/bin/mongod --shutdown --config /data/mongodb/mongo.conf
Restart=always
LimitNOFILE=64000
LimitNPROC=64000

[Install]
WantedBy=multi-user.target

重新加载systemd服务配置

sudo systemctl daemon-reload

测试是否可以启动成功

# 现将之前运行的MongoDB服务kill掉,先查询mongo运行的pid
ps -aux | grep mongo

kill <pid>

# 测试systemctl是否可以启动mongdb
sudo systemctl start mongodb
sudo systemctl start mongodb

 最后设置开机自启动

sudo systemctl enable mongodb


现在,MongoDB已经被设置为系统自启,并可以使用以下systemctl命令进行管理:

  • 启动MongoDB服务:sudo systemctl start mongodb
  • 停止MongoDB服务:sudo systemctl stop mongodb
  • 重启MongoDB服务:sudo systemctl restart mongodb
  • 查看MongoDB服务状态:sudo systemctl status mongodb

请确保/data/mongodb/目录下的MongoDB文件和配置正确,并具有适当的权限。

解决疑惑

在Systemd的环境中,建议将服务单元文件放在/etc/systemd/system目录下,而不是/etc/init.d目录下。/etc/init.d目录是传统的SysV Init脚本存放的位置,而Systemd已经取代了SysV Init作为Linux系统的初始化系统。

Systemd使用.service文件作为服务单元文件,使用systemctl命令进行服务管理。将服务单元文件放在/etc/systemd/system目录下可以更好地与Systemd集成,并提供更多的服务管理功能。

如果你将服务单元文件放在/etc/init.d目录下,Systemd将无法直接识别和管理该服务。虽然可以通过一些转换或兼容性设置使Systemd支持SysV Init脚本,但这种方法并不推荐,因为它可能会导致一些问题,并且不符合Systemd的最佳实践。

因此,建议将MongoDB的服务单元文件放在/etc/systemd/system目录下,以便与Systemd集成,并使用systemctl命令进行服务管理



标签:服务,Centos,MongoDB,systemctl,mongodb,自启,data,目录
From: https://blog.51cto.com/u_14154011/7085379

相关文章

  • linux安装禅道(CentOS)
    提示:禅道是用PHP开发的,只要安装一个MySQL,找一个能跑php的web应用服务器,把禅道源代码放到里面,然后按步骤安装就可以了。不一定要用XAMPP,XAMPP只是把PHP环境和mysql都集成了而已。如果你想下载其他的版本http://www.zentao.net/download.html第一种方式:下载禅道:(64位)http://dl.cn......
  • CentOS7 安装
    1、下载ElasticSearch8.9并安装https://www.elastic.co/guide/en/elasticsearch/reference/8.9/rpm.html#rpm-repowgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-x86_64.rpmwgethttps://artifacts.elastic.co/downloads/elasticsearch/ela......
  • centos 7安装redis
    您好,这是在CentOS7上安装Redis的详细指南1:安装依赖项:Redis是用C语言开发的,因此在安装之前,您必须确保服务器已经安装了gcc。您可以通过以下命令检查机器是否安装:gcc-v。如果没有安装,您可以通过以下命令安装:yuminstall-ygcc。下载Redis安装包并解压缩:wgethttps://downlo......
  • CentOS7 上安装部署chatglm2-6b
          按照说明文档,先按照了最新版本的Python,官网下载了最新的版本3.11后,一顿操作感觉分分钟就安装完了。但是继续安装chatglm2-6b所需的依赖包时,就遇到了N多坑点,为了解决这些坑点,耗时真的很长(按周计算的那种)。如果是CPU服务器,则至少需要30G内存。      ......
  • CentOS7安装MySQL:使用Yum存储库方式
    一、安装环境安装环境如下:服务器:CentOS7.9安装版本:MySQL5.7(最新版)二、安装过程和细节1、在官网下载MySQLYum源安装文件用MySQLYum存储库安装的方式,其实就是通过Linux系统的Yum源安装的方式,主要的Yum源配置文件存放在/etc/yum.repos.d目录下,所以要想通过这种方式安......
  • MongoDB
    MongoDBMongoDB是一个开源的,跨平台的文档数据库管理系统,它属于NoSQL的一种,旨在满足现代应用程序对灵活性,可拓展性和高性能的需求,MongoDB支持面向文档的数据存储模型,使开发人员能够以更自然的方式存储和查询数据,而无需遵循传统的关系型数据库结构。以下是MongoDB的一些重要特点和......
  • 如何在centos 7上安装pip命令?
    在centos7上,默认是python2.7的版本,并且没有pip命令。 如果要通过pip命令安装一些包、模块,就没有办法做到的。 所以,需要先进行pip命令的安装。 通过使用下面的命令,在centos7上安装pip命令:yuminstall-ypython-pip   安装之后,输入下面的命令,查看pip命令的......
  • centos7 防火墙端口开启和关闭及查看
    一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctlenablefirewalld.service(2)设置开机禁用防火墙:systemctldisablefirewalld.service(3)启动防火墙:systemctlstartfirewalld(4)关闭防火墙:systemctlstopfirewalld(5)检查防火墙状态:systemctlstatusfirewalld二......
  • centos安装arp-scan,使用github上的源码安装
    使用github上的源码安装按照以下步骤使用arp-scan的GitHub源码进行安装:安装编译工具和依赖项:打开终端并以root用户或具有sudo权限的用户身份登录。运行以下命令以安装编译工具和必要的依赖项:sudoyuminstallgccmakelibpcap-devel下载源代码:在终端中,使用以下命令......
  • 【原】无脑操作:基于CentOS 7.9搭建国产数据库 南大通用GBase 8a 单机环境
    CentOS7.9 环境的安装不再赘述,不清楚可以参看之前的文章:https://www.cnblogs.com/iflytek/p/14403664.html 1、准备GBase8a的安装包:GBase8a-NoLicense-Free-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2 2、创建gbase用户、并设置密码(密码规则:长度多于8位的字母+数字)use......