伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

docker搭建mongodb分片集群

来源:本站原创 浏览:262次 时间:2021-05-02

准备好mongodb镜像,网络,keyfile文件,在基础镜像mongo的基础上创建包含keyfile文件的镜像mongo:v1

目标是搭建一个6节点的分片集群,该集群由两个副本集构成,包括:一个配置服务器副本集(三节点),一个分片副本集(三节点),一个mongos

创建配置服务器副本集节点:
docker run -d --name mongo-cfg01 --network 10.0.0.0/24 --ip 10.0.0.211 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --configsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfiledocker run -d --name mongo-cfg02 --network 10.0.0.0/24 --ip 10.0.0.212 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --configsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfiledocker run -d --name mongo-cfg03 --network 10.0.0.0/24 --ip 10.0.0.213 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --configsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfile

进入任一节点,比如,mongo-cfg01

连接数据库

mongo --port 27019 -u admin
初始化配置服务器副本集
rs.initiate(  {    _id: "cluster01",    configsvr: true,    members: [      { _id : 0, host : "10.0.0.211:27019" },      { _id : 1, host : "10.0.0.212:27019" },      { _id : 2, host : "10.0.0.213:27019" }    ]  })

结果:

{        "ok" : 1,        "$gleStats" : {                "lastOpTime" : Timestamp(1619790210, 1),                "electionId" : ObjectId("000000000000000000000000")        },        "lastCommittedOpTime" : Timestamp(0, 0)}

然后,使用rs.conf(),rs.status()等等查看副本集状态

创建分片副本集:
docker run -d --name mongo-rep01 --network 10.0.0.0/24 --ip 10.0.0.221 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --shardsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfiledocker run -d --name mongo-rep02 --network 10.0.0.0/24 --ip 10.0.0.222 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --shardsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfiledocker run -d --name mongo-rep03 --network 10.0.0.0/24 --ip 10.0.0.223 -v /root/keyfile:/etc/keyfile -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123.com mongo:v1 mongod --shardsvr --replSet "cluster01" --bind_ip_all --keyFile /etc/keyfile

进入任一节点,比如:mongo-rep01,连接数据库

mongo --port 27018 -u admin
初始化分片副本集
rs.initiate(  {    _id : "cluster01",    members: [      { _id : 0, host : "10.0.0.221:27018" },      { _id : 1, host : "10.0.0.222:27018" },      { _id : 2, host : "10.0.0.223:27018" }    ]  })

结果:

{ "ok" : 1 }
为集群启动一个mongos
mongos --configdb cfg/10.0.0.211:27019,10.0.0.212:27019,10.0.0.213:27019 --keyFile /etc/keyfile

结果滚动显示如下内容:

{"t":{"$date":"2021-04-30T15:00:27.378+00:00"},"s":"I",  "c":"SH_REFR",  "id":24105,   "ctx":"ConfigServerCatalogCacheLoader-1","msg":"Collection has found to be unsharded after refresh","attr":{"namespace":"config.system.sessions","durationMillis":0}}{"t":{"$date":"2021-04-30T15:00:27.379+00:00"},"s":"I",  "c":"CONTROL",  "id":20714,   "ctx":"LogicalSessionCacheRefresh","msg":"Failed to refresh session cache, will try again at the next refresh interval","attr":{"error":"NamespaceNotSharded: Collection config.system.sessions is not sharded."}}{"t":{"$date":"2021-04-30T15:00:27.379+00:00"},"s":"I",  "c":"SH_REFR",  "id":24105,   "ctx":"ConfigServerCatalogCacheLoader-1","msg":"Collection has found to be unsharded after refresh","attr":{"namespace":"config.system.sessions","durationMillis":0}}{"t":{"$date":"2021-04-30T15:00:27.380+00:00"},"s":"I",  "c":"CONTROL",  "id":20712,   "ctx":"LogicalSessionCacheReap","msg":"Sessions collection is not set up; waiting until next sessions reap interval","attr":{"error":"NamespaceNotSharded: Collection config.system.sessions is not sharded."}}{"t":{"$date":"2021-04-30T15:00:35.473+00:00"},"s":"I",  "c":"SHARDING", "id":20997,   "ctx":"Uptime-reporter","msg":"Refreshed RWC defaults","attr":{"newDefaults":{}}}{"t":{"$date":"2021-04-30T15:00:45.994+00:00"},"s":"I",  "c":"SHARDING", "id":20997,   "ctx":"Uptime-reporter","msg":"Refreshed RWC defaults","attr":{"newDefaults":{}}}{"t":{"$date":"2021-04-30T15:00:57.478+00:00"},"s":"I",  "c":"SHARDING", "id":20997,   "ctx":"Uptime-reporter","msg":"Refreshed RWC defaults","attr":{"newDefaults":{}}}
添加分片集到集群

通过mongo连接到运行mongos的节点,连接数据库,并执行如下命令添加分片集到集群:

sh.addShard( "cluster01/10.0.0.221:27018,10.0.0.222:27018,10.0.0.223:27018")

结果:

mongos> sh.addShard( "cluster01/10.0.0.221:27018,10.0.0.222:27018,10.0.0.223:27018"){        "shardAdded" : "cluster01",        "ok" : 1,        "operationTime" : Timestamp(1619794806, 3),        "$clusterTime" : {                "clusterTime" : Timestamp(1619794806, 3),                "signature" : {                        "hash" : BinData(0,"LfNdXcSRkS5TyA1rh9qJrdZzOt0="),                        "keyId" : NumberLong("6956960684298993673")                }        }}

查看分片集状态:

mongos> sh.status()--- Sharding Status ---   sharding version: {        "_id" : 1,        "minCompatibleVersion" : 5,        "currentVersion" : 6,        "clusterId" : ObjectId("608c16e2c27b8b7491ff6915")  }  shards:        {  "_id" : "cluster01",  "host" : "cluster01/10.0.0.221:27018,10.0.0.222:27018,10.0.0.223:27018",  "state" : 1 }  active mongoses:        "4.4.5" : 1  autosplit:        Currently enabled: yes  balancer:        Currently enabled:  yes        Currently running:  no        Failed balancer rounds in last 5 attempts:  0        Migration Results for the last 24 hours:                 No recent migrations  databases:        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }                config.system.sessions                        shard key: { "_id" : 1 }                        unique: false                        balancing: true                        chunks:                                cluster01       1024                        too many chunks to print, use verbose if you want to force print


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net