MongoDB ubuntu 上安装 MongoDB7.0 附带配置文件说明

news2024/10/11 0:30:40

e9becf239c7a777c00060c20d4c55c9a.png

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis ,Oracle ,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加微信号 liuaustin3 (共1250人左右 1 + 2 + 3 +4)新人会进入3群 (3群准备关闭自由申请)+ 4群

每日感悟

存在就是合理的,这句话是剥夺你理解内部原理的障眼法,很多人把 了解 和 理解 混淆了,如同知道了无数生活“真理”,而依然过不好这一生。

最近除了中国好声音停播这个好消息外,我最近关注MongoDB 7.0,所以安装看看有什么可以玩的新东西,基于CENTOS 的不能再用,全面转向了ubuntu 22.04,所以这次有两个部分的工作,

1  逐步熟悉ubuntu 22.04

2  看看MongoDB 7.0 的配置文件的变化

3   搭建复制集有什么区别

最后把相关开源的mongodb的配置文件贴上附带解释。最近的一些新的知识,没有跟上,所以对于新版本的MongoDB 的重新上路,后面会把继续学习的部分写成一个系列。

首先的不同点,如果是从MongoDB 4.X ,直接来接触MongoDB 7.0的话,第一个感受是,安装的文件变化了,之前在安装中,安装包包含了MongoDB的执行文件,客户端的文件,还有基础的工具文件,所以下载一个二进制包就可以了,但是在7.0 不可以,你至少需要下载三个部分

1  MongoDB 二进制文件包

2  MongoDB  shell 客户端

3  MongoDB   Tools 工具包

所以如果要完成原有4.X 的工作,现在需要下载的软件包为3个。

配置文件方面的变化

1  在systemLog 部分并未有较大的变化,需要注意从 MongoDB 4.4后,timeStampFormat 部分不再支持 ctime , 配置时需要注意默认的值改为ISO8601-LOCAL 

2  在storage 配置部分,关于journal 日志的部分的配置变更移除了storage.journal.enabled 的部分,也移除了 storage.indexBuildRetry的部分,关于 maxCacheOverflowFileSizeGB,这个选项也从4.4后失效了。同时关于 storage.syncPeriodSecs 部分不要进行人工设置。

同时从MonogDB 4.4 添加了storage.oplogMinRetntionHours,通过此选项来设置oplog 保留的时间,这里默认值为0 。

在storage.wiredTiger.engineConfig.JournalCompressor 从4.2 添加了zstd的压缩模式支持,storage.wiredTiger.engineConfig.zstdCompressionlevel 可以设置压缩的比率从1 到22 默认压缩的等级为 6 , 这个配置选项从MongoDB 5.0开始。

3  replication 项目中添加了 replication.enableMajorityReadConcern  选项从5.0开始不能在进行变动,默认值为 true,这里需要注意,在这选项中,如果你的3节点PSA 模式中有arbiter 节点的出现,那么可能有导致性能的问题,所以建议在5.0 版本后,不建议使用arbiter 代替3节点 replica.

4 Security.javascriptEnabled 通过从4.4 版本开始JAVASCRIPT 可以在系统中运行或不运行可以进行设置。security.clusterIpSourceAllowlist 是从Mongo 5.0 提供的参数,通过参数可以设置可以安全的确认复制集,或分片中主机的地址是否是安全,防止欺骗性的加入集群的可能性。

#This is mongodb config file for replica set
#systemlog file

systemLog:
  traceAllExceptions: false
  quiet: false
  logRotate: rename
  destination: file
  logAppend: true
  path: /data/mongo1/mongod.log
  timeStampFormat: iso8601-local
  component:
     index:
       verbosity: 1

#storage
storage:
  dbPath: /data/mongo1/
  directoryPerDB: true
  wiredTiger:
     engineConfig:
        cacheSizeGB: 2
        journalCompressor: zstd
        directoryForIndexes: true
        zstdCompressionLevel: 10


processManagement:
  fork: true
  timeZoneInfo: /usr/share/zoneinfo
  pidFilePath: /data/mongo1/mongod.pid

# network interfaces
net:
  port: 27017
  bindIp: 192.168.198.100, 127.0.0.1
  bindIpAll: false
  maxIncomingConnections: 200
  wireObjectCheck: true
  unixDomainSocket:
     enabled: true
     pathPrefix: /tmp
     filePermissions: 0700

#security options
security:
   keyFile: /data/keyfile
   authorization: enabled
   javascriptEnabled: true
   clusterIpSourceAllowlist:
      - 192.168.198.0/24
      - 127.0.0.1
#  enableEncrypthion only enterprise version have it 

replication:
   oplogSizeMB: 10240
   replSetName: mongo7
   enableMajorityReadConcern: true

除此以外在mongo4.4后关于慢查询的部分添加了operationProfiling.filter  可以通过这个部分来过滤慢查询语句,例如filter:''{op:"query",millis: {$gt:500}}  ,通过过滤可以自定义一些想找到的语句来进行问题的解决。

大家的过程比较简单

1  3个节点分别提供好相关的配置文件

2  启动第一个节点,并键入用户名密码,需要管理员的权限

3  启动其他的节点,并通过命令来逐一添加其他节点。

openssl rand -base64 768 > keyfile
chmod 400 keyfile
sudo dpkg -i mongodb-mongosh_1.10.5_amd64.deb 
sudo dpkg -i mongodb-database-tools-ubuntu2204-x86_64-100.8.0.deb

在第一次搭建的情况下,请先去掉复制方面的配置,否则无法添加用户,在添加用户后,直接执行下方的命令,将3个节点标定为复制集,然后直接初始化,即可。

1f97fdb0bbfcaa638171151b08fa9e42.png

f745c6f7ad3b231f34906665496f290f.png

1ae208edbab57e142583082a54d248c4.png

然后启动 1 2 3 mongodb,登陆到我们刚才加入账号的节点

mongosh mongodb://192.168.198.100:27017/admin -u root -p 1234.Com

config_rs= { _id:"mongo7", members:[
{_id:0,host:"192.168.198.100:27017",priority:100},
{_id:1,host:"192.168.198.100:27027",priority:80},
{_id:2,host:"192.168.198.100:27037",priority:60}]}

rs.initiate(config_rs)

c5729dfdb36d42daedca37004a37d17d.png

4393508426d52f6623c182b887578d16.png

随着7.0 复制集搭建完成,后续的关于7.0的研究会慢慢展开

191952f37bdd6b24ff2ff5133662ce7a.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TDesign的input标签

目录 一、 新建页面01-todolist 二、 t-input标签、t-button标签 2.1 t-input标签 2.1.1 01-todolist.wxml页面 2.2 01-todolist.json页面 2.3 01-todolist.js页面 2.4 01-todolist.wxss页面 2.2 t-button标签 示例1: 示例2 : 一、 新建页面0…

【LeetCode题目详解】第九章 动态规划part08 139.单词拆分 (day46补)

本文章代码以c为例! 一、力扣第139题:单词拆分 题目: 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典…

linux系统中rootfs根文件系统制作及挂载基本操作

​今天给大家介绍一下rootfs根文件系统制作和挂载方式,希望这篇文章对大家有所帮助。 本章主要是对rootfs根文件系统制作和挂载方式进行详细讲解。 Linux“三巨头”已经完成了2个了,就剩最后一个 rootfs(根文件系统)了,本章我们就来学习一下…

日常开发小汇总(4)空对象创造

创建空对象的目的其实是想要一个干净的对象,最直接的方式是将对象的隐式原型干掉,如 下图就会得到一个干净的对象,但是这种方式不推荐,不要直接操作__proto__ 方式一 Object.create(null) 方法二 Object.setPrototypeOf(对象&a…

SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置

一.文件上传 1.导入依赖 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version> </dependency> 2.配置文件上传解析器 在spring-mvc.xml文件中添加文件…

掌握API数据检索:过滤和排序的综合指南

API可以返回大量的数据&#xff0c;这使得开发人员很难只检索他们需要的信息。这就是API的过滤和排序功能的用武之地。 过滤和排序是API设计的两个基本功能&#xff0c;它们允许开发人员有效地从API检索特定的数据。过滤使开发人员能够通过指定返回的数据必须满足的标准来缩小A…

【用unity实现100个游戏之11】复刻经典消消乐游戏

文章目录 前言开始项目开始一、方块网格生成二、方块交换三、添加交换的动画效果四、水平消除检测五、垂直消除检测六、完善删除功能七、效果优化&#xff08;移动方块后再进行消除检测&#xff09;八、方块下落十、方块填充十一、后续 源码参考完结 前言 欢迎来到经典消消乐游…

第13节-PhotoShop基础课程-裁剪工具

文章目录 前言1.裁剪工具1.基本操作 Alt Shift2.拉直3.内容识别 自动填充 2.透视裁剪工具3.切片工具-长图分成多个4.切片选择工具5. 存储为一张一张 前言 1.裁剪工具 1.基本操作 Alt Shift 2.拉直 可以矫正图片 3.内容识别 自动填充 2.透视裁剪工具 可以拉正图片 3.切片工具-…

SpringAOP的实现机制(底层原理)、应用场景等详解

SpringAOP的实现机制&#xff08;底层原理&#xff09;应用场景等详解 ​ Spring框架是Java开发中最流行的应用程序框架之一。它提供了广泛的功能&#xff0c;其中之一就是面向切面编程&#xff08;AOP&#xff09;。Spring AOP允许我们将关注点&#xff08;例如日志记录、事务…

微信小程序源码

1&#xff1a;仿豆瓣电影微信小程序 https://github.com/zce/weapp-demo 2&#xff1a;微信小程序移动端商城 https://github.com/liuxuanqiang/wechat-weapp-mall 3&#xff1a;Gank微信小程序 https://github.com/lypeer/wechat-weapp-gank 4&#xff1a;微信小程序高仿QQ…

【小笔记】当一个算法性能不满意,可能是这几方面的原因

【学而不思则罔&#xff0c;思而不学则殆】 2023.9.9 原因一&#xff1a;数据质量有问题 数据决定了算法的上限&#xff0c;在大模型时代&#xff0c;这句话仍然管用&#xff08;比如open AI对数据的标注要求就非常高&#xff09;数据的问题主要有这几方面&#xff1a; 1. …

CSDN每日一练 |『括号上色』『严查枪火』『数组排序』2023-09-09

CSDN每日一练 |『括号上色』『严查枪火』『数组排序』2023-09-09 一、题目名称:括号上色二、题目名称:严查枪火三、题目名称:数组排序一、题目名称:括号上色 时间限制:1000ms内存限制:256M 题目描述: 小艺酱又得到了一堆括号。 括号是严格匹配的。 现在给括号进行上色。…

Springboot整合JWT完成验证登录

目录 一、引入依赖二、JwtUtil 代码解读三、LoginController 代码解读四、整体代码五、结果展示 一、引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></depende…

趣解接口隔离原则之《做个Rapper咋这么难?》

〇、小故事 不知道大家是否看过这样一个短视频——“姐姐去找她的弟弟&#xff0c;因为她的弟弟想要当rapper而荒废了学业&#xff0c;姐姐多番劝导也没有用&#xff0c;最后一怒一下&#xff0c;把弟弟的rapper发型剃了。没有了帅气的rapper发型&#xff0c;弟弟也放弃了当ra…

数据结构与算法-选择冒泡快排计数

一&#xff1a;选择排序 场景&#xff1a;找出一个班上身高最高的人你会怎么找&#xff1f;A B C D A B 选择排序的思路和插入排序非常相似&#xff0c;也分已排序和未排序区间。但选择排序每次会从未排序区间中找到最小的元素&#xff0c;将其放到已排序区间的末尾。但是不像插…

SetWindowDisplayAffinity 函数设置窗体透明

#define WDA_NONE 0x00000000 #define WDA_MONITOR 0x00000001 #define WDA_EXCLUDEFROMCAPTURE 0x00000011 c#调用示例 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.L…

从金融史、司法体系与技术周期来看,RWA的万亿叙事经不起推敲?

加密市场走向低迷&#xff0c;但RWA&#xff08;Real World Assets&#xff0c;真实世界资产&#xff09;概念却不断升温&#xff0c;成为这个行业里为数不多各方都承认的宏大叙述&#xff0c;吸引了高盛、花旗等传统机构的兴趣。不过从金融史、司法体系与区块链技术周期等方面…

Linux基本指令及其使用

前言&#xff1a;前面我们学习了Linux环境的简单配置和XShell7的安装&#xff0c;并将云服务器部署连接到XShell本地来使用&#xff0c;今天&#xff0c;我们就一起来学习一些Linux的基本指令及其使用&#xff0c;为后续的Linux的学习打基础&#xff0c;下面&#xff0c;马上开…

openGauss学习笔记-64 openGauss 数据库管理-创建和管理表空间

文章目录 openGauss学习笔记-64 openGauss 数据库管理-创建和管理表空间64.1 背景信息64.2 注意事项64.3 操作步骤64.3.1 创建表空间64.3.2 在表空间中创建对象64.3.3 查询表空间64.3.4 查询表空间使用率64.3.5 修改表空间64.3.6 删除表空间 openGauss学习笔记-64 openGauss 数…

vite+vue3项目中集成ESLint与prettier

1. 集成eslint 1.1 安装eslint npm add -D eslint1.2 初始化ESLint配置 npx eslint --init1.3 配置初始化选择 我的选择如下&#xff1a; 安装完成后&#xff08;根目录会生成.eslintrc.js文件&#xff09; 这个配置文件是默认生成的 1.4 eslint不生效解决方案 检查vscode…