首页 > 数据库 >mongodb6.0.13 搭建复制集PSA

mongodb6.0.13 搭建复制集PSA

时间:2024-03-08 15:44:06浏览次数:29  
标签:13 mongodb PSA mongod data mongodb6.0 usr local 节点

一、材料

  mongodb:6.0.13

  mongosh:2.1.5   

  openssl-1.1.1w

  系统:redhat4.8

二、模式

  PDA: 一个主节点(Primary)、   一个延迟副节点(SEcondary)、一个仲裁节点(arbiter)

PDA 主节点 延迟副节点 仲裁节点
名称 Primary Secondary Arbiter
端口 27017 27018 27019

 

三、安装步骤

  工具自己的系统下载对应的安装包并解压的

根据自己的系统下载对应的安装包
    mongodb: https://www.mongodb.com/try/download/community
    mongosh: https://www.mongodb.com/try/download/shell
创建安装目录
    mkdir -m 755 /usr/local/mongodb/
解压
    tar -zxvf mongodb-linux-x86_64-rhel70-6.0.13.tgz
    tar -zxvf mongosh-1.10.6-linux-x64-openssl11.tgz

将软件移动到安装目录
    mv ./mongodb-linux-x86_64-rhel70-6.0.13/bin  /usr/local/mongodb/
    mv ./mongosh-1.10.6-linux-x64-openssl11/bin/*  /usr/local/mongodb/bin

创建数据数据日志目录
    主节点:
        mkdri -m 755 /data/mongodb/27017/data
        mkdri -m 755 /data/mongodb/27017/log

    延迟副节点:
        mkdri -m 755 /data/mongodb/27018/data
        mkdri -m 755 /data/mongodb/27018/log

    仲裁节点:
        mkdri -m 755 /data/mongodb/27019/data
        mkdri -m 755 /data/mongodb/27019/log

 

四、配置文件

  创建三个配置文件,每个配置文件的内容著需要修改相对硬的端口 即可

    /usr/local/mongodb/mongodb27017.conf
    /usr/local/mongodb/mongodb27018.conf
    /usr/local/mongodb/mongodb27019.conf
systemLog: 
    #MongoDB发送所有日志输出的目标指定为文件 
    destination: file 
    #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 
    path: "/data/mongodb/27017/data/log/mongod.log" 
    #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。 
    logAppend: true 

storage: 
    #每个数据库创建单独目录
    directoryPerDB: true
    #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 
    dbPath: "/data/mongodb/27017/data/data/"  
    journal:
        #启用或禁用持久性日志以确保数据文件保持有效和可恢复。 
        enabled: true
    wiredTiger:
        engineConfig:
            directoryForIndex: true

processManagement: 
    #启用在后台运行mongos或mongod进程的守护进程模式。 
    fork: true
    #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID 
    pidFilePath: "/data/mongodb/27017/data/log/mongod.pid"

net:
    #服务实例绑定所有IP,有副作用,副本集初始化的时候,节点名字会自动设置为本地域名,而不是ip 
    #bindIpAll: true 
    #服务实例绑定的IP 
    bindIp: localhost,192.168.142.12
    #绑定的端口 
    port: 27017

replication: 
    #副本集的名称 
    replSetName: jxkshu
    oplogSizeMN: 1024

#Security:
#   authorization: disabled #disabled 关闭认证  enabled 开启认证
#   clusterAuthMode: keyFile
#   keyFile: "/usr/local/mongodb/mongodb.keyfile"

 

五、启动 

/usr/local/mongodb/bin/mongod -f  /usr/local/mongodb/mongodb27017.conf
/usr/local/mongodb/bin/mongod -f  /usr/local/mongodb/mongodb27018.conf
/usr/local/mongodb/bin/mongod -f  /usr/local/mongodb/mongodb27019.conf

tips:
/usr/local/mongodb/bin/mongod -f  /usr/local/mongodb/mongodb27019.conf --shutdown #关闭

 

六、配置复制集

任意登录一个实例(推荐你登陆希望它成为主节点的哪个实例)
/usr/local/mongodb/mongosh/bin/mongosh --host 172.0.0.1 -port 27017
切换到admin
use admin
实例化复制集让该节点变成主节点
rs.initiate({
    _id:"jxkshu", #复制集名称就是 replSetName
    members:[
        {
            _id:0,
            host:"192.168.142.12:27017"
        }
    ]
})
继续添加副本集
rs.add("192.168.142.12:27018")
可以使用rs.status() 查看情况
添加仲裁节点
rs.addArb("192.168.142.12:27019")
配置完成
使用rs.status() 查看情况,如果一切实力 表示搭建完成

七、延迟副节点

  主要未来防止误操作 比如删库什么的      将27018 实例 变更成延迟节点

use admin
#将复制集配置信息复制到变量cfg中
cfg = rs.conf()
#查看cfg.members 列表信息 发现 27018 的_id是 1
#修改
cfg.members[1].hidden = true #隐藏该节点 不然客户端读取
cfg.members[1].priority = 0 #设置被选举权 不让起成为主节点
cfg.members[1].secondaryDelaySecs = 3600 # 副节点延迟3600秒 在同步
cfg.members[1].votes = 0 #设置退票数  不让它成为主节点

#重新就在复制集配置
rs.reconfig(cfg)
#或者
rs.reconfigForPSASet(1, cfg) #1 是27018 的_id是 1
#然复制集重新选举

 

 

 

Note:建议操作之前先通过 rs.help()  看看 其内部函数作用及参数详解

 

恶心的csdn 不要再来偷我的博客了   太恶心啦

 

标签:13,mongodb,PSA,mongod,data,mongodb6.0,usr,local,节点
From: https://www.cnblogs.com/jxkshu/p/18060957

相关文章

  • P1379 八数码难题
    原题链接题解1:朴素广搜注意细节code1#include<bits/stdc++.h>usingnamespacestd;intpoi[4]={-3,1,-1,3};intmain(){strings;cin>>s;queue<string>q;map<string,int>rec;q.push(s);rec[s]=1;while(q.size())......
  • 米尔电子STM32MP135开放式高实时高性能PLC控制器解决方案发布
    前言随着工业数字化进程加速与IT/OT深入融合,不断增加的OT核心数据已经逐步成为工业自动化行业的核心资产,而OT层数据具备高实时、高精度、冗余度高、数据量大等等特点,如何获取更加精准的OT数据对数字化进程起到至关重要的作用,同时随着国内工业控制系统逐步进入中高端应用,更加精准......
  • CF1353E K-periodic Garland 题解
    分析考虑DP。定义状态函数\(f_i\)表示处理完前\(i\)个字符且第\(i\)个字符为\(1\)时的最小代价。则对于\(i\),有两种情况:\(i\)不是第一个\(1\),则上一个\(1\)的位置必定为\(i-k\)。\(i\)是第一个\(1\),没有上一个\(1\)。得到转移方程:\(f_i=\min(f_{\max(......
  • UVA13095 Tobby and Query 题解
    分析一眼莫队(虽然通过这题的范围显然看出出题人用的不是莫队)。我们定义\(\mathit{cnt}_{i}\)表示数字\(i\)出现的次数。在指针的拓展增加\(x\)时,若有\(\mathit{cnt}_{x}+1=1\),则表示在在这个区间里,\(x\)是第一次出现的,我们可以将答案加\(1\);在指针的收缩减去\(x\)时,......
  • P2135 方块消除
    原题链接题解代码量小的离谱,思维难度大的离谱对于两个原本不相邻的同色区域块,历经千辛万苦碰面的场景,我们可以描述成右边的区域块为左边的区域块消除的时候增添了长度设\(dp[i][j][suf]\)代表消除区域\([i,j]\)同时该区域的\(j\)增添了长度\(suf\)但是合并消除不一定......
  • P1332 血色先锋队
    思路:BFS这道题思路挺简单的。每个被感染的设置被感染的时间,然后将其放到队列中。已经被感染的就不要重复设置值了。#include<bits/stdc++.h>usingnamespacestd;constintmaxn=505;intn,m,a,b;pair<int,int>pr;intdx[4]={0,-1,1,0},dy[4]={-1,0,0,1......
  • mysql cpu 1300% 耗尽服务器cpu资源 系统变慢问题排查解决
    每到下午用户使用高峰期发现16核的服务器mysql的cpu经常占用超过1300% 总cpu占用95%以上,以前0.1秒的查询居然要查询10几秒用showprocesslist  命令查看mysql发现很多 select*frome_task_assignment_odmwheretask_code='xxx'看了下这个表有400多万数据,task_code没......
  • ABC134F Permutation Oddness
    [ABC134F]PermutationOddness好题,牛牛的一个套路——\(\textsfH\)\(\textsf{anghang}\)写起来简单,想起来难的一个东西,难点主要是在状态设置上我们可以把\(1\simN\)拆点,于是原题相当于求一个二分图的完美匹配,并使其怪异度为\(k\)我们考虑设置\(f_{i,j,k}\)......
  • 513. 找树左下角的值c
    用的层序遍历/***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/intfindBottomLeftValue(structTreeNode*root){if(!root->left&&!root->right)r......
  • day56 动态规划part13 代码随想录算法训练营 718. 最长重复子数组
    题目:718.最长重复子数组我的感悟:有难度,不好想。理解难点:二维DP,记住那个图:===============听课笔记:我的代码:classSolution:deffindLength(self,nums1:List[int],nums2:List[int])->int:#初始化#假设内层是nums1,n,j,外层是nums2,m,......