毫不费力!在Ubuntu上安装MongoDB7.0的简易指南!

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

最近除了中国好声音停播这个好消息外,我最近关注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个节点标定为复制集,然后直接初始化,即可。

然后启动 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)

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

在Ubuntu上安装MongoDB 7.0并不是一项特别困难的任务。只需要花费几分钟时间,您就可以安装这个功能强大的NoSQL数据库系统并开始使用它。在本文中,我们讨论了MongoDB的重要特性以及步骤,这些步骤可以帮助您在Ubuntu系统中安装MongoDB。在安装和配置MongoDB时,请务必按照本文中的步骤进行操作,以确保数据库能够正确地运行。通过本文中的指南,您可以使用MongoDB来管理和处理大量数据,这将为您的应用程序带来更好的性能和可扩展性。

到此这篇关于毫不费力!在Ubuntu上安装MongoDB7.0的简易指南!的文章就介绍到这了,更多相关ubuntu 上安装 MongoDB7.0内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!