首页
学习
活动
专区
圈层
工具
发布

MongoDB分片集群部署(二)

三、config安装配置

3.1、创建目录,三节点
代码语言:javascript
复制
mkdir -p /work/mongo-cluster/config/{bin,data,conf,logs,keys}
3.2、编辑启动脚本,三节点
代码语言:javascript
复制
vim /work/mongo-cluster/config/bin/start.sh

内容

代码语言:javascript
复制
docker run -d --name config \
        --network=host \
        --log-opt max-size=10m \
        -v /etc/timezone:/etc/timezone \
        -v /etc/localtime:/etc/localtime \
        -v /work/mongo-cluster/config/data:/data \
        -v /work/mongo-cluster/config/keys:/keys \
        -v /work/mongo-cluster/config/logs:/var/log/mongodb \
        -v /work/mongo-cluster/config/conf/mongod.conf:/etc/mongo/mongod.conf \
        mongo:4.2.5 --config /etc/mongo/mongod.conf \
代码语言:javascript
复制
chmod 755  /work/mongo-cluster/config/bin/start.sh
3.3、编辑配置文件,三节点
代码语言:javascript
复制
vim /work/mongo-cluster/config/conf/mongod.conf

内容

代码语言:javascript
复制
# mongod.conf
​
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
​
# Where and how to store data.
storage:
  dbPath: /data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
​
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongo.log
​
# network interfaces
net:
  port: 27018
  bindIp: 0.0.0.0
​
​
# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
​
#security:
security:
  keyFile: /keys/mongo-cluster.key
​
#operationProfiling:
​
#replication:
replication:
  replSetName: configs
​
#sharding:
sharding:
  clusterRole: configsvr
​
## Enterprise-Only Options:
​
#auditLog:
​
#snmp:
3.4、复制keyfile
代码语言:javascript
复制
cp ~/mongo-cluster.key /work/mongo-cluster/config/keys/
sudo chown 999 /work/mongo-cluster/config/keys/mongo-cluster.key
sudo chmod 400 /work/mongo-cluster/config/keys/mongo-cluster.key
3.5、设置目录权限
代码语言:javascript
复制
sudo chown 999 /work/mongo-cluster/config/data/ /work/mongo-cluster/config/logs/
3.6、启动应用
代码语言:javascript
复制
/work/mongo-cluster/config/bin/start.sh
3.7、初始化副本集

连接任意节点

代码语言:javascript
复制
docker exec -it config mongo --port 27018

初始化副本

代码语言:javascript
复制
rs.initiate(
  {
    _id: "configs",
    configsvr: true,
    members: [
      { _id : 0, host : "172.30.3.231:27018" },
      { _id : 1, host : "172.30.3.234:27018" },
      { _id : 2, host : "172.30.3.238:27018" }
    ]
  }
)

返回值

代码语言:javascript
复制
{
        "ok" : 1,
        "$gleStats" : {
                "lastOpTime" : Timestamp(1586588112, 1),
                "electionId" : ObjectId("000000000000000000000000")
        },
        "lastCommittedOpTime" : Timestamp(0, 0)
}
3.8、查询状态
代码语言:javascript
复制
rs.status()

返回值

代码语言:javascript
复制
{
        "set" : "configs",
        "date" : ISODate("2020-04-11T06:55:43.899Z"),
        "myState" : 1,
        "term" : NumberLong(1),
        "syncingTo" : "",
        "syncSourceHost" : "",
        "syncSourceId" : -1,
        "configsvr" : true,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "majorityVoteCount" : 2,
        "writeMajorityCount" : 2,
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1586588143, 1),
                        "t" : NumberLong(1)
                },
                "lastCommittedWallTime" : ISODate("2020-04-11T06:55:43.562Z"),
                "readConcernMajorityOpTime" : {
                        "ts" : Timestamp(1586588143, 1),
                        "t" : NumberLong(1)
                },
                "readConcernMajorityWallTime" : ISODate("2020-04-11T06:55:43.562Z"),
                "appliedOpTime" : {
                        "ts" : Timestamp(1586588143, 1),
                        "t" : NumberLong(1)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1586588143, 1),
                        "t" : NumberLong(1)
                },
                "lastAppliedWallTime" : ISODate("2020-04-11T06:55:43.562Z"),
                "lastDurableWallTime" : ISODate("2020-04-11T06:55:43.562Z")
        },
        "lastStableRecoveryTimestamp" : Timestamp(1586588123, 1),
        "lastStableCheckpointTimestamp" : Timestamp(1586588123, 1),
        "electionCandidateMetrics" : {
                "lastElectionReason" : "electionTimeout",
                "lastElectionDate" : ISODate("2020-04-11T06:55:22.969Z"),
                "electionTerm" : NumberLong(1),
                "lastCommittedOpTimeAtElection" : {
                        "ts" : Timestamp(0, 0),
                        "t" : NumberLong(-1)
                },
                "lastSeenOpTimeAtElection" : {
                        "ts" : Timestamp(1586588112, 1),
                        "t" : NumberLong(-1)
                },
                "numVotesNeeded" : 2,
                "priorityAtElection" : 1,
                "electionTimeoutMillis" : NumberLong(10000),
                "numCatchUpOps" : NumberLong(0),
                "newTermStartDate" : ISODate("2020-04-11T06:55:23.013Z"),
                "wMajorityWriteAvailabilityDate" : ISODate("2020-04-11T06:55:23.593Z")
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "172.30.3.231:27018",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 283,
                        "optime" : {
                                "ts" : Timestamp(1586588143, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2020-04-11T06:55:43Z"),
                        "syncingTo" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "could not find member to sync from",
                        "electionTime" : Timestamp(1586588122, 1),
                        "electionDate" : ISODate("2020-04-11T06:55:22Z"),
                        "configVersion" : 1,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                },
                {
                        "_id" : 1,
                        "name" : "172.30.3.234:27018",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "ts" : Timestamp(1586588131, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1586588131, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2020-04-11T06:55:31Z"),
                        "optimeDurableDate" : ISODate("2020-04-11T06:55:31Z"),
                        "lastHeartbeat" : ISODate("2020-04-11T06:55:42.991Z"),
                        "lastHeartbeatRecv" : ISODate("2020-04-11T06:55:42.499Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "172.30.3.238:27018",
                        "syncSourceHost" : "172.30.3.238:27018",
                        "syncSourceId" : 2,
                        "infoMessage" : "",
                        "configVersion" : 1
                },
                {
                        "_id" : 2,
                        "name" : "172.30.3.238:27018",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "ts" : Timestamp(1586588131, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1586588131, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2020-04-11T06:55:31Z"),
                        "optimeDurableDate" : ISODate("2020-04-11T06:55:31Z"),
                        "lastHeartbeat" : ISODate("2020-04-11T06:55:42.991Z"),
                        "lastHeartbeatRecv" : ISODate("2020-04-11T06:55:42.003Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "172.30.3.231:27018",
                        "syncSourceHost" : "172.30.3.231:27018",
                        "syncSourceId" : 0,
                        "infoMessage" : "",
                        "configVersion" : 1
                }
        ],
        "ok" : 1,
        "$gleStats" : {
                "lastOpTime" : Timestamp(1586588112, 1),
                "electionId" : ObjectId("7fffffff0000000000000001")
        },
        "lastCommittedOpTime" : Timestamp(1586588143, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1586588143, 1),
                "signature" : {
                        "hash" : BinData(0,"y6G4iMqVbLG/vu3tmPZy2421Y3s="),
                        "keyId" : NumberLong("6814344100507025437")
                }
        },
        "operationTime" : Timestamp(1586588143, 1)
}
下一篇
举报
领券