文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何部署MongoDB数据库应用

2023-06-29 14:46

关注

这篇文章主要介绍了如何部署MongoDB数据库应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何部署MongoDB数据库应用文章都会有所收获,下面我们一起来看看吧。

一、MongoDB 简介

MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。

应用平台:MongoDB 支持 Unix Linux Windows 等系统平台。

MySQL 与 MongoDB 区别:

MySQL数据库数据表数据
MongDB数据库集合文档

1.MongoDB 特点

存储性:

面向集合:数据被分组存储在数据集中,被称为一个集合。

面向文档:存储在集合中的文档,被存储为键值对的形式。

高效二进制数据存储:使用二进制格式存储,可以保存任何类型的数据对象。

操作性:

完全索引:可以在任意属性上建立索引,包含内部对象。以提高查询的速度。

强大的聚合工具:MongoDB 除了提供丰富的查询功能外,还提供了强大的聚合工具,如 count group 等。

支持 Perl PHP Java C# JavaScript Ruby Python CC++ 语言的驱动程序。

可用性:

支持复制和数据恢复:MongoDB 支持主从复制机制,可以实现数据的备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。

自动处理分片:MongoDB 支持集群自动切分数据,对数据进行切分可以使用集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡

2.MongoDB 适用场景

网站实时数据处理:它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。

缓存:它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

高伸缩性的场景:非常适合由数十台或数百台服务器组成的数据库。

不适用于的场景如下:

要求高度事务性的系统(例如:银行和会计系统)传统的商业只能应用。复杂的跨文档(表)级联查询。

3.MongoDB 存储结构

逻辑结构:

文档 document:存放的数据。

集合 collection:由多个文档组成,相当于表,但不同的是集合是无固定架构。

数据库 database:多个集合组成的数据库。

物理结构:

.wt 文件:每个表或索引对应一个命名空间,数据量增加,文件数量增多,存储了分配和正在使用的磁盘空间。

数据文件:存放数据的实体,并且使用预分配空间机制。

日志文件:系统日志文件、journal 日志文件(用于 MongoDB 崩溃恢复的保障)、oplog 复制操作日志文件(相当于 MySQL 的 BinLog 文件)、慢查询日志(查询操作超出指定时间的语句)

物理结构就是真正存放数据的位置。

4.MongoDB 数据类型

如何部署MongoDB数据库应用

二、部署 MongoDB 数据库应用

主机名操作系统IP 地址版本
MongoDBCentOS 7.4192.168.1.1mongodb-linux-x86_64-rhel70-4.4.5.tgz

1.准备系统环境

[root@MongoDB ~]# ulimit -n 25000# 同一时间最多开启的文件数[root@MongoDB ~]# ulimit -u 25000# 用户最多开启的程序数目[root@MongoDB ~]# echo 0 > /proc/sys/vm/zone_reclaim_mode# 设置内核参数. 当某个节点内存不足时可以借用其它节点的内存[root@MongoDB ~]# sysctl -w vm.zone_reclaim_mode=0vm.zone_reclaim_mode = 0[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

因为下面安装的版本为 4.4.5,而 MongoDB 4 版本以上的 /bin 目录中的工具进行了分离,所以需要安装:传送门

如何部署MongoDB数据库应用

[root@MongoDB ~]# tar xf mongodb-database-tools-rhel70-x86_64-100.3.1.tgz

2.安装 MongoDB

[root@MongoDB ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz[root@MongoDB ~]# tar xf mongodb-linux-x86_64-rhel70-4.4.5.tgz[root@MongoDB ~]# mv mongodb-linux-x86_64-rhel70-4.4.5 /usr/local/mongodb[root@MongoDB ~]# mv mongodb-database-tools-rhel70-x86_64-100.3.1/bin/* /usr/local/mongodb/bin/[root@MongoDB ~]# echo "export PATH=/usr/local/mongodb/bin:\$PATH" >> /etc/profile[root@MongoDB ~]# source /etc/profile

3.创建 MongoDB 存储目录以及配置文件

[root@MongoDB ~]# mkdir /usr/local/mongodb/{data,logs,conf}[root@MongoDB ~]# touch /usr/local/mongodb/logs/mongodb.log[root@MongoDB ~]# chmod 777 /usr/local/mongodb/logs/mongodb.log [root@MongoDB ~]# cat <<END > /usr/local/mongodb/conf/mongodb.confbind_ip=192.168.1.1port=27017dbpath=/usr/local/mongodb/data/logpath=/usr/local/mongodb/logs/mongodb.loglogappend=true# 日志以文件追加的方式写入fork=true# 通过后台运行 MongoDB 服务maxConns=5000# MongoDB 最大连接数END

4.编写服务启动脚本

[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf# 启动 MongoDB 服务[root@MongoDB ~]# mongo 192.168.1.1:27017# 登录验证[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown# 关闭 MongoDB 服务[root@MongoDB ~]# vim /etc/init.d/mongodb#!/bin/bashcase "$1" instart)/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;stop)/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown;;restart)/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;esac[root@MongoDB ~]# chmod +x /etc/init.d/mongodb # 添加执行权限[root@MongoDB ~]# /etc/init.d/mongodb start# 启动

登录验证

[root@MongoDB ~]# mongo 192.168.1.1:27017# 登录 MongoDB 数据库 (默认在 test 库中)> show databases# 查看数据库中所有库admin   0.000GBconfig  0.000GBlocal   0.000GB> db.getName()# 查看当前登录库test

MongoDB 安装完后的默认 4 个库:

admin:存放了有关数据库账号的相关信息。

config:用于分片集群环境,存放分片相关的元数据信息。

local:用于存储限于本地单台服务器的任意集合(因为该库并不会被复制到从节点,简单来说就是没有冗余性)

test:MongoDB 默认创建的一个测试库,连接 MongoDB 服务时,如果不指定连接的具体数据库,默认就会连接到 test 库。

关于“如何部署MongoDB数据库应用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何部署MongoDB数据库应用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯