Linux搭建MongoDB Replica Set 副本集集群

采用Replica Set 副本集集群模式:
  偶数个节点 + 一个仲裁节点 构成的Replica Set,节点拥有数据集,仲裁节点仅参与仲裁选举出Primary节点。 最小架构:1个Primary节点,1个Secondary节点,1个Arbiter节点。

三台服务器:
  主机(Primary): 101.37.157.51:27011
  从机(Secondary): 101.37.66.61:27011
  仲裁者(Arbiter): 47.111.89.220:27011

一,创建配置文件:
  Primary的配置文件:

     systemLog:
          destination: file
          path: /usr/supplywater/dataBase/mongodb/log/mongodb.log #日志文件存放路径
          logAppend: true #使用追加的方式写日志
        storage:
          dbPath: /usr/supplywater/dataBase/mongodb/db #数据库存文件存放目录
          journal:
              enabled: true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
          wiredTiger:   #存储引擎有mmapv1、wiretiger、mongorocks
              engineConfig:
                cacheSizeGB: 2
        processManagement:
          fork: true
          pidFilePath: /usr/supplywater/dataBase/mongodb/log/mongodbpid.pid
        net:
          bindIp: 0.0.0.0
          port: 27011
        replication:
          replSetName: "chiticsupplywater"

Secondary的配置文件:与上相同
Arbiter的配置文件:与上相同

二,启动三台服务器上的mongodb服务

[root@master bin]# ./mongod -f /usr/supplywater/dataBase/mongodb/master.conf
--出现以下内容代表启动成功 about to fork child process, waiting until server
is ready for connections. forked process: 11656 child process started successfully, parent exiting

三、配置Replica Set

1,登录三台服务器中任意一台,登录mongodb数据库

[root@master bin]# ./mongo --port 27011
--出现以下内容代表登录成功 MongoDB shell version v4.0.0 connecting to: mongodb://127.0.0.1:27011/ MongoDB server version: 4.0.0

2, 命令行输入(注意:chiticsupplywater对应配置文件的replSetName):

> use admin
switched to db admin
--priority:  值越大,是主机             arbiterOnly:true    仲裁者
> cfg={ _id:"chiticsupplywater",members:[{_id:0,host:'101.37.157.51:27011',priority:2},{_id:1,host:'101.37.66.61:27011',priority:1},{_id:2,host:'47.111.89.220:27011',arbiterOnly:true}] };
> rs.initiate(cfg)
--出现以下内容代表成功 {
"ok" : 1, "operationTime" : Timestamp(1560492018, 1), "$clusterTime" : { "clusterTime" : Timestamp(1560492018, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
--查看集群状态
chiticsupplywater:SECONDARY> rs.conf() { "_id" : "chiticsupplywater", "version" : 1, "protocolVersion" : NumberLong(1), "writeConcernMajorityJournalDefault" : true, "members" : [ { "_id" : 0, "host" : "101.37.157.51:27011", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 2, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "101.37.66.61:27011", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 2, "host" : "47.111.89.220:27011", "arbiterOnly" : true, "buildIndexes" : true, "hidden" : false, "priority" : 0, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "catchUpTimeoutMillis" : -1, "catchUpTakeoverDelayMillis" : 30000, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId("5d0337f2c259a815a2289ac6") } }

关闭MongoDB服务: use admin
第一种: db.shutdownServer();
第二种: ./mongod --shutdown --dbpath /usr/supplywater/dataBase/mongodb/db

猜你喜欢

转载自www.cnblogs.com/gaomanito/p/11023562.html
今日推荐