Centos7 搭建Mongodb 分片集群4.0/ PSA(三成员副本集)

MongoDB

    • 简介:
      • 1、优点和缺点:
      • 2、MongoDB适用的业务场景:
    • Centos7 搭建Mongodb 分片集群
      • 一、安装MongoDB社区版4.0
        • 1、配置程序包管理系统(`yum`)
        • 2、安装对应版本的MongoDB软件包。
        • 3、创建运行mongodb的目录并禁用SELinux
        • 4、修改文件打开数
        • 5、初始化系统
          • 5.1、创建config配置服务器,配置文件mongoconfig.conf,并启动
          • 5.2、创建shard服务器,shard 配置 mongd.conf
            • 1)leojiang124、leojiang126 配置shard1
            • 2)leojiang125、leojiang127 配置shard2副本集,shard.config配置文件修改<replication.replSetName>即可
            • 3)arbiter :
            • 4)启动副本集:
            • 5)配置三成员副本集
          • 5.3、创建mongos客户端指定配置服务器,配置mongos.conf
        • 6、数据库添加内部安全认证
          • 6.1、创建密钥文件
          • 6.2、把生成的mongodb-keyfile文件拷贝到每个需要keyfile的服务器上,开启配置文件的注释
          • 6.3、重启集群并生效:
    • Data flow:

简介:

MongoDB是一个分布式非关系型数据库管理系统

1、优点和缺点:

优点:
1. 灵活的数据模型:MongoDB是面向文档的数据库,使用JSON格式存储数据,因此可以轻松地存储各种类型的数据,而不需要遵循严格的模式。
2. 可扩展性:MongoDB支持水平扩展,可以通过添加更多的服务器来处理大量的数据和流量,从而实现高可扩展性。
3. 高性能:MongoDB具有快速的读写速度,特别是在大型数据库和高并发访问的情况下。
4. 强大的查询功能:MongoDB支持丰富的查询功能,包括复杂的聚合查询、全文搜索等。
5. 自动故障转移:MongoDB具有自动故障转移功能,可以在主服务器故障时自动切换到备用服务器,提高了系统的可用性。

缺点:
1. 内存消耗较大:MongoDB在处理大规模数据时需要大量的内存来维护索引和缓存,这可能导致服务器成本较高。
2. 数据一致性问题:由于MongoDB的分布式特性,可能会存在数据一致性的问题,特别是在网络分区或节点故障时。
3. 复杂的查询:MongoDB的复杂查询性能可能不如传统的关系型数据库。

2、MongoDB适用的业务场景:

MongoDB适合许多不同类型的业务,特别是那些需要处理灵活数据模型、大规模写入、高性能读取和无需复杂事务支持的应用。

1. 内容管理系统(CMS):CMS通常需要处理多种类型的内容,如文章、图片、视频等,而这些内容的结构可能会经常变化。MongoDB的灵活的文档数据模型使其成为存储和管理此类内容的理想选择。

2. 实时分析和日志处理:MongoDB可以处理大规模的写入操作,因此非常适合存储实时生成的日志数据或其他实时事件数据。它还具有良好的读取性能,可以支持实时分析和查询。

3. 物联网(IoT)应用:物联网应用通常需要处理大量的传感器数据和设备数据,并且这些数据的结构可能是不确定的。MongoDB的灵活性和水平扩展性使其成为存储和处理物联网数据的良好选择。

4. 用户分析和个性化推荐:对于需要存储和分析大量用户数据,并基于这些数据进行个性化推荐或用户行为分析的应用程序,MongoDB是一个强大的工具。它可以轻松存储用户配置文件、行为数据等,并支持复杂的查询和分析。

Centos7 搭建Mongodb 分片集群

一、安装MongoDB社区版4.0

该集群由mongos、配置服务器config和两个三成员shard副本集组成。
在这里插入图片描述

组件分布:

ip 组件
leojiang123 arbiter(shard1)、arbiter(shard2)
leojiang124 mongos、config、shard1(副)
leojiang125 mongos、config、shard2(副)
leojiang126 mongos、config、shard1(主)
leojiang127 mongos、shard2(主)

端口选择:

组件 端口选择
mongos 20000
config 27000
shard 27001
arbiter 27026、27027
1、配置程序包管理系统(yum

创建一个/etc/yum.repos.d/mongodb-org-4.0.repo文件,以便您可以使用yum以下命令直接安装MongoDB

  • 分别在leojiang123~leojiang127服务器上执行
cat > /etc/yum.repos.d/mongodb-org-4.0.repo << EOF
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
2、安装对应版本的MongoDB软件包。
  • 分别在leojiang123~leojiang127服务器上执行
sudo yum install -y mongodb-org-4.0.9 mongodb-org-server-4.0.9 mongodb-org-shell-4.0.9 mongodb-org-mongos-4.0.9 mongodb-org-tools-4.0.9

为防止意外升级,请固定包装。

echo 'exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools'>>/etc/yum.conf
3、创建运行mongodb的目录并禁用SELinux
  • 根据自身情况分别在leojiang123~leojiang127服务器上执行
mkdir -p /var/opt/mongodb/config
mkdir -p /var/opt/mongodb/mongos
mkdir -p /var/opt/mongodb/shard
mkdir -p /var/opt/mongodb/arbiter
chown -R mongod:mongod /var/opt/mongodb

禁用SELinux

vim /etc/sysconfig/selinux
SELINUX=disabled

setenforce 0
4、修改文件打开数
  • 分别在leojiang123~leojiang127服务器上执行

4.1、修改系统文件打开数

# 直接生效
ulimit -n 1000000

4.2、修改mongo最大文件打开数

cat > /etc/security/limits.d/99-mongodb.conf << LEO
#Default limit for number of user’s processes to prevent
# accidental fork bombs.
# # See rhbz #432903 for reasoning.
# #
# # * soft nproc 4096
# # root soft nproc unlimited
* soft nofile 1000000
* hard nofile 1000000
* soft fsize unlimited
* hard fsize unlimited
* soft cpu unlimited
* hard cpu unlimited
* soft nproc 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/539864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 8服务器搭建L2TP服务器(over IPsec)操作指南

正文共&#xff1a;1234 字 14 图&#xff0c;预估阅读时间&#xff1a;2 分钟 之前发过把我自己的服务器搬上公网的文章&#xff08;我用100块钱把物理服务器放到了公网&#xff0c;省了几万块&#xff01;&#xff09;&#xff0c;当时L2TP拨号用的是网络上的解决方案&#x…

Java 集合Collection

集合的体系 Collection的结构体系 List系列集合&#xff1a;添加的元素是有序的、可重复、有索引。Set系列集合&#xff1a;无序、不重复、无索引 HashSet&#xff1a;无序、不重复、无索引LinkedHashSet:有序、不重复、无索引TreeSet&#xff1a;按照大小默认升序排序、不重复…

最新PDD批发Anti-Content参数逆向分析与算法还原

文章目录 1. 写在前面2. 接口分析3. 分析与扣代码 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Py…

Day:007(1) | Python爬虫:高效数据抓取的编程技术(scrapy框架使用)

Scrapy的介绍 Scrapy 是一个用于抓取网站和提取结构化数据的应用程序框架&#xff0c;可用于各种有用的应用程序&#xff0c;如数据挖掘、信息处理或历史存档。 尽管 Scrapy 最初是为网络抓取而设计的&#xff0c;但它也可用于使用API提取数据或用作通用网络爬虫。 Scrapy的优势…

海外媒体发稿:4种旅游业媒体套餐助你宣发推广-华媒舍

在现代社会中&#xff0c;旅游业发展迅速&#xff0c;竞争也变得日益激烈。为了让自己的旅游产品或服务脱颖而出&#xff0c;宣传和推广变得至关重要。有着强大传播力的媒体平台成为了旅游行业的一项重要资源。为了更好地推广旅游业&#xff0c;提高其影响力&#xff0c;有许多…

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用

该文章演示怎么在OData里,创建一个多套多的请求结构,传入数据处理后,返回多层级的处理结果;以及如何在CPI里写groovy脚本,去解析它;最后如何用postman模拟外围系统,调用CPI这个接口,从而去调用Odata接口 假如想用SAP Odata去实现传入多层级的数据,进行创建或者根据传入…

word并排比较

Word并排比较是一种在Microsoft Word文档中同时显示两个文本内容并进行比较的功能。这种比较通常用于查看文档的不同版本之间的差异&#xff0c;或者比较两个不同来源的文本内容。 在Word中进行并排比较通常可以通过以下步骤实现&#xff1a; 通过这种方式&#xff0c;Word的并…

港科夜闻|叶玉如校长牵头举办大湾区国际科创峰会,与海内外教育领袖共话全球合作,教育与创新...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大校长叶玉如教授牵头举办大湾区国际科创峰会&#xff0c;与海内外教育领袖共话全球合作、教育与创新。粤港澳大湾区院士联盟主办的“第二届大湾区国际科创峰会”4月3日在香港科学园举行&#xff0c;汇聚了区内及海…

跟TED演讲学英文:Why AI will spark exponential economic growth by Cathie Wood

TED英文文稿 文章目录 TED英文文稿Why AI will spark exponential economic growthIntroductionVocabularyTranscriptSummary后记 Why AI will spark exponential economic growth Link: https://www.ted.com/talks/cathie_wood_why_ai_will_spark_exponential_economic_growth…

vscode远程免密登录ssh

vscode远程免密登录ssh 1. 安装vscode2. 安装ssh3. 本地vscode配置免密登录远端开发机1. 本地配置秘钥2. 远程开发机配置秘钥 4. vscode常用小工具1. vscode怎么设置ctrl加滚轮放大字体 1. 安装vscode 2. 安装ssh 设置符号打开config配置文件&#xff0c;点击符号ssh连接新的远…

Kubernetes(k8s):深入理解 Kubernetes 中的污点(Taints)与容忍度(Tolerations)

Kubernetes&#xff08;k8s&#xff09;&#xff1a;深入理解 Kubernetes 中的污点&#xff08;Taints&#xff09;与容忍度&#xff08;Tolerations&#xff09; 1、污点&#xff08;Taints&#xff09;2、容忍度&#xff08;Tolerations&#xff09;3、示例演示-测试污点的具…

Leetcode 399. 除法求值

心路历程&#xff1a; 一开始看着挺蒙的主要是不知道这道题在考察哪个知识点&#xff0c;后来按顺序把三个示例自己模拟着做出来之后发现本质其实在考类似链表或者指针的东西。 再一想其实是一个树或者图的遍历搜索问题&#xff0c;一下子想到了回溯算法。 第一次遇到这个题从…

Rocky(Centos)数据库等高并发或高io应用linux系统调优,及硬件问题排查(含网络、磁盘、系统监控)

一、系统参数优化 默认的最大打开文件数是1024.不满足生产环境的要求。按照如下配置&#xff1a; 1、修改 systemctl管理的 servie 资源限制 编辑/etc/systemd/system.conf # 全局的打开文件数 DefaultLimitNOFILE2097152 # 全局打开进程数 DefaultLimitNPROC655352、调整系…

[管理者与领导者-159] :社交策略和智慧-2,看破不说破,如何与虚伪的人和谐相处

目录 前言&#xff1a; 一、看破不说破 二、与虚伪的愉悦相处 三、如何利用社交技巧赞扬虚伪的人&#xff0c;而不失自己的原则 前言&#xff1a; 在实现生活中&#xff0c;总与遇到一种人&#xff0c;他们说一套&#xff0c;做一套、心理想一套&#xff0c;他们把自己利己…

面试-数据库基础以及MySql、ClickHost、Redis简介

面试-数据库基础以及MySql、ClickHost、Redis简介 0.数据完整性1.数据库并发控制1.1事物1.2 并发读写错误1.3 锁1.3.1 乐观锁与悲观锁1.3.2 共享锁和排他锁1.3.3 行锁与表锁1.3.4 意向锁 1.4 封锁协议与隔离级别1.5 MVCC1.5.1 概念1.5.2 当前读与快照读1.5.3 MVCC in InnoDB 2.…

数据采集仪:自动化监测系统的核心组件

在当代的工业自动化领域&#xff0c;数据采集仪成为了一个关键的技术工具&#xff0c;它不仅仅是简单地将电信号转化为数据信号&#xff0c;而是能够实时、有效地处理和显示各种信号&#xff0c;确保整个监测系统的稳定、高效运行。 点击输入图片描述&#xff08;最多30字&…

redis-缓存穿透与雪崩

一&#xff0c;缓存穿透&#xff08;查不到&#xff09; 在默认情况下&#xff0c;用户请求数据时&#xff0c;会先在缓存(Redis)中查找&#xff0c;若没找到即缓存未命中&#xff0c;再在数据库中进行查找&#xff0c;数量少可能问题不大&#xff0c;可是一旦大量的请求数据&a…

自动化测试selenium(2)

目录 WebDriver介绍 WebDriver使用 使用WebDriver驱动操作浏览器(打开一个百度) WebDriver 相关API 定位元素 操作元素 上一篇主要介绍了自动化测试的概念以及selenium的基本原理, 这里我们来讲一下如何利用selenium来写测试用的脚本. WebDriver介绍 Selenium是一个用于…

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP 1. Branch2. SSH clone URL3. Clone in Desktop4. Download ZIPReferences 1. Branch 显示当前分支的名称。从这里可以切换仓库内分支&#xff0c;查看其他分支的文件。 2. SSH clone U…

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控 单细胞RNA测序(scRNA-seq)基础知识可查看以下文章: 单细胞RNA测序(scRNA-seq)工作流程入门 单细胞RNA测序(scRNA-seq)细胞分离与扩增 1. 单细胞RNA-seq样本数据说明 样本数据来源文章:Acquired cancer re…