返回顶部
首页 > 资讯 > 精选 >MongoDB服务如何配置
  • 766
分享到

MongoDB服务如何配置

2023-06-28 02:06:58 766人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关MongoDB服务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mongoDB是一个基于分布式文件存储的数据库。由c++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方

这篇文章给大家分享的是有关MongoDB服务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

mongoDB是一个基于分布式文件存储的数据库。由c++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB服务如何配置

介绍

想在笔记本电脑上尝试 MonGoDB?只需执行一个命令,你就会有一个轻量级的、独立的沙箱。完成后可以删除你所做的所有痕迹。

想在多个环境中使用相同的程序栈application stack副本?构建你自己的容器镜像,让你的开发测试运维和支持团队使用相同的环境克隆。

容器正在彻底改变整个软件生命周期:从最早的技术性实验和概念证明,贯穿了开发、测试、部署和支持。

编排工具用来管理如何创建、升级多个容器,并使之高可用。编排还控制容器如何连接,以从多个微服务容器构建复杂的应用程序。

丰富的功能、简单的工具和强大的 api 使容器和编排功能成为 devops 团队的首选,将其集成到连续集成(CI) 和连续交付 (CD) 的工作流程中。

这篇文章探讨了在容器中运行和编排 MongoDB 时遇到的额外挑战,并说明了如何克服这些挑战。

MongoDB 的注意事项

使用容器和编排运行 MongoDB 有一些额外的注意事项:

MongoDB 数据库节点是有状态的。如果容器发生故障并被重新编排,数据则会丢失(能够从副本集的其他节点恢复,但这需要时间),这是不合需要的。为了解决这个问题,可以使用诸如 kubernetes 中的数据卷volume 抽象等功能来将容器中临时的 MongoDB 数据目录映射到持久位置,以便数据在容器故障和重新编排过程中存留。一个副本集中的 MongoDB 数据库节点必须能够相互通信 – 包括重新编排后。副本集中的所有节点必须知道其所有对等节点的地址,但是当重新编排容器时,可能会使用不同的 IP 地址重新启动。例如,Kubernetes Pod 中的所有容器共享一个 IP 地址,当重新编排 pod 时,IP 地址会发生变化。使用 Kubernetes,可以通过将 Kubernetes 服务与每个 MongoDB 节点相关联来处理,该节点使用 Kubernetes DNS 服务提供“主机名”,以保持服务在重新编排中保持不变。一旦每个单独的 MongoDB 节点运行起来(每个都在自己的容器中),则必须初始化副本集,并添加每个节点到其中。这可能需要在编排工具之外提供一些额外的处理。具体来说,必须使用目标副本集中的一个 MongoDB 节点来执行 rs.initiate 和 rs.add 命令。如果编排框架提供了容器的自动化重新编排(如 Kubernetes),那么这将增加 MongoDB 的弹性,因为这可以自动重新创建失败的副本集成员,从而在没有人为干预的情况下恢复完全的冗余级别。应该注意的是,虽然编排框架可能监控容器的状态,但是不太可能监视容器内运行的应用程序或备份其数据。这意味着使用 MongoDB Enterprise Advanced 和 MongoDB Professional 中包含的 MongoDB Cloud Manager 等强大的监控和备份解决方案非常重要。可以考虑创建自己的镜像,其中包含你首选的 MongoDB 版本和 MongoDB Automation Agent。

使用 Docker 和 Kubernetes 实现 MongoDB 副本集

如上节所述,分布式数据库(如 MongoDB)在使用编排框架(如 Kubernetes)进行部署时,需要稍加注意。本节将介绍详细介绍如何实现。

我们首先在单个 Kubernetes 集群中创建整个 MongoDB 副本集(通常在一个数据中心内,这显然不能提供地理冗余)。实际上,很少有必要改变成跨多个集群运行,这些步骤将在后面描述。

副本集的每个成员将作为自己的 pod 运行,并提供一个公开 IP 地址和端口的服务。这个“固定”的 IP 地址非常重要,因为外部应用程序和其他副本集成员都可以依赖于它在重新编排 pod 的情况下保持不变。

下图说明了其中一个 pod 以及相关的复制控制器和服务。

MongoDB服务如何配置
mongodb服务配置mongodb服务配置

图 1:MongoDB 副本集成员被配置为 Kubernetes Pod 并作为服务公开图 1:MongoDB 副本集成员被配置为 Kubernetes Pod 并作为服务公开逐步介绍该配置中描述的资源:

从核心开始,有一个名为 mongo-node1 的容器。mongo-node1 包含一个名为 mongo 的镜像,这是一个在 Docker Hub 上托管的一个公开可用的 MongoDB 容器镜像。容器在集群中暴露端口 27107。Kubernetes 的数据卷功能用于将连接器中的 /data/db 目录映射到名为 mongo-persistent-storage1 的永久存储上,这又被映射到在 Google Cloud 中创建的名为 mongodb-disk1 的磁盘中。这是 MongoDB 存储其数据的地方,这样它可以在容器重新编排后保留。容器保存在一个 pod 中,该 pod 中有标签命名为 mongo-node,并提供一个名为 rod 的(任意)示例。配置 mongo-node1 复制控制器以确保 mongo-node1 pod 的单个实例始终运行。名为 mongo-svc-a 的 负载均衡 服务给外部开放了一个 IP 地址以及 27017 端口,它被映射到容器相同的端口号上。该服务使用选择器来匹配 pod 标签来确定正确的 pod。外部 IP 地址和端口将用于应用程序以及副本集成员之间的通信。每个容器也有本地 IP 地址,但是当容器移动或重新启动时,这些 IP 地址会变化,因此不会用于副本集。下一个图显示了副本集的第二个成员的配置。

MongoDB服务如何配置
mongodb服务配置mongodb服务配置

图 2:第二个 MongoDB 副本集成员配置为 Kubernetes Pod图 2:第二个 MongoDB 副本集成员配置为 Kubernetes Pod90% 的配置是一样的,只有这些变化:

磁盘和卷名必须是唯一的,因此使用的是 mongodb-disk2 和 mongo-persistent-storage2Pod 被分配了一个 instance: jane 和 name: mongo-node2 的标签,以便新的服务可以使用选择器与图 1 所示的 rod Pod 相区分。复制控制器命名为 mongo-rc2该服务名为mongo-svc-b,并获得了一个唯一的外部 IP 地址(在这种情况下,Kubernetes 分配了 104.1.4.5)第三个副本成员的配置遵循相同的模式,下图展示了完整的副本集:

MongoDB服务如何配置

图 3:配置为 Kubernetes 服务的完整副本集成员图 3:配置为 Kubernetes 服务的完整副本集成员请注意,即使在三个或更多节点的 Kubernetes 群集上运行图 3 所示的配置,Kubernetes 可能(并且经常会)在同一主机上编排两个或多个 MongoDB 副本集成员。这是因为 Kubernetes 将三个 pod 视为属于三个独立的服务。

为了在区域内增加冗余,可以创建一个附加的 headless 服务。新服务不向外界提供任何功能(甚至不会有 IP 地址),但是它可以让 Kubernetes 通知三个 MongoDB pod 形成一个服务,所以 Kubernetes 会尝试在不同的节点上编排它们。

MongoDB服务如何配置

图 4:避免同一 MongoDB 副本集成员的 Headless 服务图 4:避免同一 MongoDB 副本集成员的 Headless 服务配置和启动 MongoDB 副本集所需的实际配置文件和命令可以在白皮书《启用微服务:阐述容器和编排》中找到。特别的是,需要一些本文中描述的特殊步骤来将三个 MongoDB 实例组合成具备功能的、健壮的副本集。

多个可用区 MongoDB 副本集

上面创建的副本集存在风险,因为所有内容都在相同的 GCE 集群中运行,因此都在相同的可用区availability zone中。如果有一个重大事件使可用区离线,那么 MongoDB 副本集将不可用。如果需要地理冗余,则三个 pod 应该在三个不同的可用区或地区中运行。

令人惊奇的是,为了创建在三个区域之间分割的类似的副本集(需要三个集群),几乎不需要改变。每个集群都需要自己的 Kubernetes YAML 文件,该文件仅为该副本集中的一个成员定义了 pod、复制控制器和服务。那么为每个区域创建一个集群,永久存储和 MongoDB 节点是一件很简单的事情。

MongoDB服务如何配置

图 5:在多个可用区域上运行的副本集图 5:在多个可用区域上运行的副本集下一步要了解有关容器和编排的更多信息 – 所涉及的技术和所提供的业务优势 – 请阅读白皮书《启用微服务:阐述容器和编排》。该文件提供了获取本文中描述的副本集,并在 Google Container Engine 中的 Docker 和 Kubernetes 上运行的完整的说明。

感谢各位的阅读!关于“MongoDB服务如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: MongoDB服务如何配置

本文链接: https://lsjlt.com/news/315642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MongoDB服务如何配置
    这篇文章给大家分享的是有关MongoDB服务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方...
    99+
    2023-06-28
  • Linux上如何配置mongodb
    这篇文章给大家分享的是有关Linux上如何配置mongodb的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高...
    99+
    2023-06-27
  • 如何配置 MongoDB 副本集
    MongoDB 已经成为市面上最知名的 NoSQL 数据库。MongoDB是面向文档的,它的无模式设计使得它在各种各样的WEB 应用当中广受欢迎。最让我喜欢的特性之一是它的副本集(Replica Set),...
    99+
    2024-04-02
  • 如何修改mongodb的配置
    要修改MongoDB的配置,可以按照以下步骤进行操作:1. 打开MongoDB的配置文件。在配置文件中,通常可以找到以下几个常用的配...
    99+
    2023-08-31
    mongodb
  • 云服务器mongodb怎么配置
    要配置云服务器上的MongoDB,您可以按照以下步骤进行操作:1. 登录到您的云服务器。2. 安装MongoDB数据库软件。您可以通...
    99+
    2023-08-12
    云服务器 mongodb
  • mongodb如何创建配置文件
    要创建MongoDB的配置文件,只需按照以下步骤进行操作:1. 打开你的系统终端或命令提示符。2. 进入MongoDB的安装目录。3...
    99+
    2023-09-12
    mongodb
  • mongodb配置
    安装说明系统环境:Centos-6.3安装软件:mongodb-linux-x86_64-2.2.2.tgz下载地址:http://www.mongodb.org/downloads安装机器:192.168...
    99+
    2024-04-02
  • Linux下如何配置MongoDB副本集
    这篇文章给大家分享的是有关Linux下如何配置MongoDB副本集的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MongoDB复制是将数据同步在多个服务器的过程。复制提供了数据的冗余备份,并在多个服务器上存储数据...
    99+
    2023-06-27
  • 服务器如何配置
    服务器的配置方法首先配置服务器的外部接口。调出内部接口进行配置。需要设置一条路由来告知流量到Cisco路由器。任何发往192.168.0.0网络的流量都应该输出eth1,并且它应该交给Cisco路由器。编写允许或拒绝通过VPN服务器访问的防...
    99+
    2024-04-02
  • mongodb 3.0 配置
    mongodb 3.0 算是一个革命性的版本,得益于新版的存储引擎WiredTiger,大幅提升性能的同时,极高的提升了数据压缩(300%)。性能对比参见:https://comerford.cc/2015...
    99+
    2024-04-02
  • pomelo+mongodb配置
     npm install pomelo 安装这个时候如果报一堆错误  可以npm config set msvs_version 2012 --global pomelo安装很...
    99+
    2024-04-02
  • 服务器如何配置phpmyadmin
    小编给大家分享一下服务器如何配置phpmyadmin,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用php和mysql开发网站...
    99+
    2024-04-02
  • MySQL如何配置服务器
    这篇文章主要为大家展示了“MySQL如何配置服务器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何配置服务器”这篇文章吧。MySQL服务器配置1.&...
    99+
    2024-04-02
  • 如何配置web服务器
    配置web服务器的方法:需要安装IIS服务,在控制面板中添加Windows组件里找到应用程序服务器,打开选择Internet信息服务(IIS)和万维网服务进行安装。完成后,打开“Internet 信息服务管理器”创建Web网站,完成了新网站...
    99+
    2024-04-02
  • vps服务器如何配置
    配置VPS服务器需要按照以下步骤进行:1. 选择适合的VPS服务器:根据自己的需求选择合适的VPS服务器,包括服务器规格、操作系统等...
    99+
    2023-09-16
    vps服务器 vps
  • 云服务器如何配置
    云服务器的配置可以根据你的实际情况而定,以下是一些常见的配置步骤:1.选择云服务器供应商:首先,选择一家云服务器的供应商,了解其性能、稳定性、可靠性等方面的信息。这可以通过咨询客服或者查看他们的产品介绍来获得。2.了解基础设施:在了解基础设...
    99+
    2023-10-26
    服务器
  • 如何配置云服务器
    配置云服务器需要考虑以下几个方面: 选择合适的云服务器供应商:选择一个有经验且信誉良好的云服务器供应商,确保它可以为你提供优秀的支持和服务,并能够提供可靠的技术解决方案。 选择合适的服务器配置:在购买云服务器之前,需要确定您的需求和预算...
    99+
    2023-10-26
    服务器
  • eclipse如何配置服务器
    要配置eclipse服务器,您可以按照以下步骤进行操作: 打开eclipse并创建一个新的Dynamic Web Project或...
    99+
    2024-04-09
    eclipse 服务器
  • 如何阿里云配置web服务器配置
    简介 在云计算时代,越来越多的企业和个人选择将网站托管在云平台上,其中阿里云作为国内领先的云计算服务提供商,备受青睐。本文将介绍如何在阿里云上配置Web服务器,帮助您快速搭建稳定可靠的网站。配置步骤步骤一:购买云服务器首先,在阿里云官网上选...
    99+
    2024-01-20
    阿里 服务器配置 web
  • Window环境下如何配置Mongodb数据库
    这篇文章主要介绍“Window环境下如何配置Mongodb数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Window环境下如何配置Mongodb数据库”文章能帮助大家解决问题。一、下载我选择的...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作