• centos7 安装mongodb replica set 集群搭建


    1.服务器分配

    os1:PRIMARY

    os2:SECONDARY

    os3:ARBITER

    2.下载mongodb 对应的安装包

    下载地址:https://www.mongodb.com/download-center/community

    下载对应的安装包,如果当前版本没有对应系统的版本就找其他版本

    3.   mkdir /app

    4.上传压缩包到/app目录并解压

    tar -zxvf mongodb-linux-x86_64-4.0.16.tgz

    mv mongodb-linux-x86_64-4.0.16 mongodb

    5.创建配置文件

    mkdir /app/mongodb/conf

    cd /app/mongodb/conf

    touch mongo.conf

    mongo.conf文件内容

    dbpath=/app/mongodb/data
    logpath=/app/mongodb/log/mongo.log
    pidfilepath=/app/mongodb/pid/mongo.pid
    directoryperdb=true
    logappend=true
    replSet=testrs
    bind_ip=192.168.5.16
    port=27017
    oplogSize=10000
    fork=true
    noprealloc=true

    6.创建mongo.conf文件中对应的目录

    mkdir /app/mongodb/data

    mkdir /app/mongodb/log

    mkdir /app/mongodb/pid

    7.复制mongodb文件 到其他主机

    scp -r  /app/mongodb os2:/app/

    scp -r  /app/mongodb os3:/app/

    8.修改其他主机的mongo.conf文件中bind_ip为本机ip

    见5mongo.conf文件内容

    9.所有主机启动mongodb

    cd  /app/mongodb/bin

    ./mongod -f /app/mongodb/conf/mongo.conf

    10.在非ARBITER的主机连接mongodb

    cd  /app/mongodb/bin

    ./mongo 192.168.5.17:27017

    11.配置config

    cfg={_id:"testrs",members:[{_id:0,host:"192.168.5.16:27017",priority:0},{_id:1,host:"192.168.5.17:27017",priority:1},{_id:2,host:"192.168.5.18:27017",arbiterOnly:true}]};

     12.初始化

    rs.initiate(cfg)

     13.查看状态验证是否配置成功

    rs.status()

    ##################
    ###窗口的状态显示如下####
    ##################
    

    { "set" : "testrs", "date" : ISODate("2020-03-06T07:53:22.228Z"), "myState" : 1, "term" : NumberLong(1), "syncingTo" : "", "syncSourceHost" : "", "syncSourceId" : -1, "heartbeatIntervalMillis" : NumberLong(2000), "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "readConcernMajorityOpTime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "appliedOpTime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "durableOpTime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) } }, "lastStableCheckpointTimestamp" : Timestamp(1583481190, 1), "electionCandidateMetrics" : { "lastElectionReason" : "electionTimeout", "lastElectionDate" : ISODate("2020-03-06T07:53:08.870Z"), "electionTerm" : NumberLong(1), "lastCommittedOpTimeAtElection" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "lastSeenOpTimeAtElection" : { "ts" : Timestamp(1583481177, 1), "t" : NumberLong(-1) }, "numVotesNeeded" : 2, "priorityAtElection" : 1, "electionTimeoutMillis" : NumberLong(10000), "numCatchUpOps" : NumberLong(0), "newTermStartDate" : ISODate("2020-03-06T07:53:10.272Z"), "wMajorityWriteAvailabilityDate" : ISODate("2020-03-06T07:53:11.379Z") }, "members" : [ { "_id" : 0, "name" : "192.168.5.16:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 24, "optime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "optimeDurable" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2020-03-06T07:53:11Z"), "optimeDurableDate" : ISODate("2020-03-06T07:53:11Z"), "lastHeartbeat" : ISODate("2020-03-06T07:53:20.884Z"), "lastHeartbeatRecv" : ISODate("2020-03-06T07:53:21.402Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncingTo" : "192.168.5.17:27017", "syncSourceHost" : "192.168.5.17:27017", "syncSourceId" : 1, "infoMessage" : "", "configVersion" : 1 }, { "_id" : 1, "name" : "192.168.5.17:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 575, "optime" : { "ts" : Timestamp(1583481191, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2020-03-06T07:53:11Z"), "syncingTo" : "", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "could not find member to sync from", "electionTime" : Timestamp(1583481188, 1), "electionDate" : ISODate("2020-03-06T07:53:08Z"), "configVersion" : 1, "self" : true, "lastHeartbeatMessage" : "" }, { "_id" : 2, "name" : "192.168.5.18:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 24, "lastHeartbeat" : ISODate("2020-03-06T07:53:20.884Z"), "lastHeartbeatRecv" : ISODate("2020-03-06T07:53:20.253Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncingTo" : "", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "configVersion" : 1 } ], "ok" : 1, "operationTime" : Timestamp(1583481191, 1), "$clusterTime" : { "clusterTime" : Timestamp(1583481191, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
  • 相关阅读:
    DeepL 人工智能翻译降临 deepl.com
    Node.js ESM(ECMAScript Modules)
    解决Ubuntu 20.04 LTS无法输入中文的问题
    实现pdnsd
    颜色
    Ubuntu 20.04 LTS
    JSX 空的根元素
    如何理解TypeScript接口​​中的语法[key: string]以及[key: number]
    React-Router-DOM
    video转canvas, 并截图
  • 原文地址:https://www.cnblogs.com/jottings/p/12427822.html
Copyright © 2020-2023  润新知