首页 > 数据库 >mongodb-shard cluster

mongodb-shard cluster

时间:2023-06-26 22:57:54浏览次数:37  
标签:log mongodb shard 38024 cluster conf true 38018

1、shard cluster 搭建及规划

10个实例端口:38017-38026

  • configserver:3台构成的复制集(1主两从,不支持arbiter)38018-38020

  • shard节点:
    sh1:38021-23 (1主两从,复制集名字sh1)
    sh2:38024-26 (1主两从,复制集名字sh2)

  • mongos
    mongos:38017

2、搭建 shard 节点

规划创建安装路径

$ mkdir -p /mongodb/38021/{conf,log,data}
$ mkdir -p /mongodb/38022/{conf,log,data}
$ mkdir -p /mongodb/38023/{conf,log,data}
$ mkdir -p /mongodb/38024/{conf,log,data}
$ mkdir -p /mongodb/38025/{conf,log,data}
$ mkdir -p /mongodb/38026/{conf,log,data}

编辑配置文件

$ vim /mongodb/38021/conf/mongodb.conf
systemLog:
  destination: file
  path: /mongodb/38021/log/mongodb.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /mongodb/38021/data
  directoryPerDB: true
#engine: wiredTiger
  wiredTiger:
    engineConfig:
     cacheSizeGB: 1
     directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
net:
  bindIp: 0.0.0.0
  port: 38021
replication:
  oplogSizeMB: 2048
  replSetName: sh1
sharding:
  clusterRole: shardsvr
processManagement:
  fork: true

$ cp /mongodb/38021/conf/mongodb.conf /mongodb/38022/conf
$ cp /mongodb/38021/conf/mongodb.conf /mongodb/38023/conf
$ sed -i 's/38021/38022/g' /mongodb/38022/conf/mongodb.conf 
$ sed -i 's/38021/38023/g' /mongodb/38023/conf/mongodb.conf 
$ vim /mongodb/38024/conf/mongodb.conf
systemLog:
  destination: file
  path: /mongodb/38024/log/mongodb.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /mongodb/38024/data
  directoryPerDB: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
net:
  bindIp: 0.0.0.0
  port: 38024
replication:
  oplogSizeMB: 2048
  replSetName: sh2
sharding:
  clusterRole: shardsvr
processManagement:
  fork: true

$ cp /mongodb/38024/conf/mongodb.conf /mongodb/38025/conf/
$ cp /mongodb/38024/conf/mongodb.conf /mongodb/38026/conf/
$ sed -i 's/38024/38025/g' /mongodb/38025/conf/mongodb.conf 
$ sed -i 's/38024/38026/g' /mongodb/38026/conf/mongodb.conf 

启动 mongodb

$ mongod -f /mongodb/38021/conf/mongodb.conf 
$ mongod -f /mongodb/38022/conf/mongodb.conf 
$ mongod -f /mongodb/38023/conf/mongodb.conf 
$ mondod -f /mongodb/38024/conf/mongodb.conf 
$ mongod -f /mongodb/38025/conf/mongodb.conf 
$ mongod -f /mongodb/38026/conf/mongodb.conf 

配置复制集

$ mongo --port 38021
> config={_id:'sh2',members:[{_id:0,host:'192.168.3.105:38024'},{_id:1,host:'192.168.3.105:38025'},{_id:2,host:'192.168.3.105:38026'}]}
> rs.initiate(config)

$ mongo --port 38024
> config={_id:'sh2',members:[{_id:0,host:'192.168.3.105:38024'},{_id:1,host:'192.168.3.105:38025'},{_id:2,host:'192.168.3.105:38026'}]}
> rs.initiate(config)
3、搭建 config 节点
$ mkdir -p /mongodb/38018/{conf,log,data}
$ mkdir -p /mongodb/38019/{conf,log,data}
$ mkdir -p /mongodb/38020/{conf,log,data}
$ vi /mongodb/38018/conf/mongodb.conf
systemLog:
  destination: file
  path: /mongodb/38018/log/mongodb.conf
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /mongodb/38018/data
  directoryPerDB: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
net:
  bindIp: 0.0.0.0
  port: 38018
replication:
  oplogSizeMB: 2048
  replSetName: configReplSet
sharding:
  clusterRole: configsvr
processManagement:
  fork: true

$ cp /mongodb/38018/conf/mongodb.conf /mongodb/38019/conf/
$ cp /mongodb/38018/conf/mongodb.conf /mongodb/38020/conf/
$ sed -i 's/38018/38019/g' /mongodb/38019/conf/mongodb.conf 
$ sed -i 's/38018/38020/g' /mongodb/38020/conf/mongodb.conf 
$ mondod -f /mongodb/38018/conf/mongodb.conf  
$ mongod -f /mongodb/38019/conf/mongodb.conf 
$ mongod -f /mongodb/38020/conf/mongodb.conf 
$ mongo --port 38018
> config={_id:'configReplSet',members:[{_id:0,host:'192.168.3.105:38018'},{_id:1,host:'192.168.3.105:38019'},{_id:2,host:'192.168.3.105:38020'}]}
> rs.initiate(config)

4、mongos节点配置
$ mkdir /mongodb/38017/{conf,log} -p
$ vim /mongodb/38017/conf/mongos.conf
systemLog:
  destination: file
  path: /mongodb/38017/log/mongos.log
  logAppend: true
net:
  bindIp: 0.0.0.0
  port: 38017
sharding:
  configDB: configReplSet/192.168.3.105:38018,192.168.3.105:38019,192.168.3.105:38020
processManagement:
  fork: true

$ mongos -f /mongodb/38017/conf/mongos.conf 

标签:log,mongodb,shard,38024,cluster,conf,true,38018
From: https://www.cnblogs.com/zbc230/p/17507352.html

相关文章

  • Linux安装MongoDB
    Linux安装MongoDB环境Linux:Centos7MongoDB:5.0.9下载位置官网:https://www.mongodb.com/try/download/communityhttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.9.tgz下载依赖与安装包安装所需要工具:yuminstallwget-yyuminstallvim-......
  • Windows安装与启动MongoDB
    Windows安装与启动MongoDB下载企业版-收费社区版-免费下载Mongodb https://www.mongodb.com/try/download/community选择版本稳定版5.0.9选择平台Windows选择安装包类型ZIP压缩版解压即用启动MongoDB通过命令启动mongod.exe--dbpath=path--logpa......
  • MongoDB介绍
    MongoDB介绍MongoDB简介MongoDB是免费开源的跨平台NoSQL数据库,命名源于英文单词humongous,意思是「巨大无比」,可见开发组对MongoDB的定位。与关系型数据库不同,MongoDB的数据以类似于JSON格式的二进制文档存储:{name:"itBaiZhan",age:18,hobbies:["python",......
  • MongoDB 概念解析
    1.MongoDB概念解析不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们依次介绍。下表将帮助您更容易理解Mongo中的一些概念:通过下图实例,我们也可以更直观的的了解Mongo中的一些概念:2.数据库一个mongodb中可以建立多个数据库。Mong......
  • mongodb第八篇:数组操作
    db.students.insertOne({"_id":1,"grades":[80,85,90]})db.students.insertOne({"_id":2,"grades":[88,90,92]})db.students.insertOne({"_id":3,"grades":[85,100,90]})需求1、把_id为1的文档的grades数组中的85改成8......
  • kibana启动失败Kibana server is not ready yet,后台日志报错:NoShardAvailableActionEx
    kibana.log日志报错信息:,{"level":"error","message":"Actionfailedwith'no_shard_available_action_exception'.Retryingattempt8outof10in64seconds."},{"level":"error","message&qu......
  • MongoDB常用命令指南
    定义......
  • Elasticsearch专题精讲—— REST APIs —— Cluster APIs —— Cluster update settin
    RESTAPIs——ClusterAPIs——ClusterupdatesettingsAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-update-settings.html#cluster-update-settingsConfiguresdynamicclustersettings.配置动态群集设置......
  • Elasticsearch专题精讲—— REST APIs —— Cluster APIs —— Cluster stats API
    RESTAPIs——ClusterAPIs——ClusterstatsAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-statsReturnsclusterstatistics.返回集群统计信息。1、Request(请求)https://www.elastic.co......
  • Elasticsearch专题精讲—— REST APIs —— Cluster APIs —— Cluster reroute API
    RESTAPIs——ClusterAPIs——ClusterrerouteAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-reroute.html#cluster-rerouteChangestheallocationofshardsinacluster.更改集群中分片的分......