
mongodb 集群shard_MongoDB Sharding Cluster 分片集群搭建及使用
发布日期:2025-04-14 14:37:30
浏览次数:10
分类:精选文章
本文共 3824 字,大约阅读时间需要 12 分钟。
MongoDB 分片集群搭建与使用指南
1.1 规划
本文将详细介绍MongoDB分片集群的搭建过程,包括shard节点、configserver节点以及mongos节点的配置及使用方法。
1.2 Shard节点配置过程
1.2.1 目录创建
创建以下目录结构:
mkdir -p /mongodb/38021/conf /mongodb/38021/log /mongodb/38021/datamkdir -p /mongodb/38022/conf /mongodb/38022/log /mongodb/38022/datamkdir -p /mongodb/38023/conf /mongodb/38023/log /mongodb/38023/datamkdir -p /mongodb/38024/conf /mongodb/38024/log /mongodb/38024/datamkdir -p /mongodb/38025/conf /mongodb/38025/log /mongodb/38025/datamkdir -p /mongodb/38026/conf /mongodb/38026/log /mongodb/38026/data
1.2.2 修改配置文件
第一组复制集搭建:21-23(1主1从1Arb)
cp /mongodb/38021/conf/mongodb.conf /mongodb/38022/conf/cp /mongodb/38021/conf/mongodb.conf /mongodb/38023/conf/sed -n '#38021#38022#' /mongodb/38022/conf/mongodb.conf -ised -n '#38021#38023#' /mongodb/38023/conf/mongodb.conf -i
第二组节点:24-26(1主1从1Arb)
cp /mongodb/38024/conf/mongodb.conf /mongodb/38025/conf/cp /mongodb/38024/conf/mongodb.conf /mongodb/38026/conf/sed -n '#38024#38025#' /mongodb/38025/conf/mongodb.conf -ised -n '#38024#38026#' /mongodb/38026/conf/mongodb.conf -i
1.2.3 启动所有节点,并搭建复制集
启动各节点并使用rs.initiate命令初始化复制集:
mongod -f /mongodb/38021/conf/mongodb.confmongod -f /mongodb/38022/conf/mongodb.confmongod -f /mongodb/38023/conf/mongodb.confmongod -f /mongodb/38024/conf/mongodb.confmongod -f /mongodb/38025/conf/mongodb.confmongod -f /mongodb/38026/conf/mongodb.confps -ef | grep mongod
configserver配置
mongo --port 38018 use adminconfig = { _id: 'configReplSet', members: [ {_id:0, host: '10.0.0.51:38018'}, {_id:1, host: '10.0.0.51:38019'}, {_id:2, host: '10.0.0.51:38020'}] }rs.initiate(config)
1.3 config节点配置
1.3.1 目录创建
mkdir -p /mongodb/38018/conf /mongodb/38018/log /mongodb/38018/datamkdir -p /mongodb/38019/conf /mongodb/38019/log /mongodb/38019/datamkdir -p /mongodb/38020/conf /mongodb/38020/log /mongodb/38020/data
1.3.2 修改配置文件
cp /mongodb/38018/conf/mongodb.conf /mongodb/38019/conf/cp /mongodb/38018/conf/mongodb.conf /mongodb/38020/conf/sed -n '#38018#38019#' /mongodb/38019/conf/mongodb.conf -ised -n '#38018#38020#' /mongodb/38020/conf/mongodb.conf -i
1.3.3 启动节点,并配置复制集
mongod -f /mongodb/38018/conf/mongodb.confmongod -f /mongodb/38019/conf/mongodb.confmongod -f /mongodb/38020/conf/mongodb.confmongo --port 38018 use adminconfig = { _id: 'configReplSet', members: [ {_id:0, host: '10.0.0.51:38018'}, {_id:1, host: '10.0.0.51:38019'}, {_id:2, host: '10.0.0.51:38020'}] }rs.initiate(config)
1.4 mongos节点配置
1.4.1 创建目录
mkdir -p /mongodb/38017/conf /mongodb/38017/log
1.4.2 配置文件
cat > /mongodb/38017/conf/mongos.conf < &
1.4.3 启动mongos
mongos -f /mongodb/38017/conf/mongos.conf
1.5 分片集群添加节点
1.5.1 连接到mongos并配置
mongo --port 38017 admin
执行以下命令添加分片:
db.runCommand({ addshard: "sh1/10.0.0.51:38021,10.0.0.51:38022,10.0.0.51:38023", name: "shard1" })db.runCommand({ addshard: "sh2/10.0.0.51:38024,10.0.0.51:38025,10.0.0.51:38026", name: "shard2" })
1.5.2 列出分片
mongos> db.runCommand({ listshards: 1 })
1.5.3 查看整体状态
mongos> sh.status()
1.6 使用分片集群
1.6.1 RANGE分片配置及测试
1.6.1.1 激活分片功能
mongo --port 38017 adminadmin> db.runCommand({ enablesharding: "test" })
1.6.1.2 指定分片键
use testdb.vast.ensureIndex({ id: 1 })admin> db.runCommand({ shardcollection: "test.vast", key: { id: 1 } })
1.6.1.3 数据插入与统计
use testfor (i=1; i<1000000; i++) { db.vast.insert({ id: i, name: "shenzheng", age: 70, date: newDate() });}db.vast.stats()
1.6.2 Hash分片配置及测试
1.6.2.1 激活分片功能
mongo --port 38017 adminadmin> db.runCommand({ enablesharding: "oldboy" })
1.6.2.2 创建Hash索引
use oldboyoldboy> db.vast.ensureIndex({ id: "hashed" })
1.6.2.3 开启分片
use adminadmin> sh.shardCollection("oldboy.vast", { id: "hashed" })
1.6.2.4 数据录入与统计
use oldboyfor (i=1; i<100000; i++) { db.vast.insert({ id: i, name: "shenzheng", age: 70, date: newDate() });}
1.6.3 分片结果测试
mongo --port 38021 use oldboydb.vast.count()
mongo --port 38024 use oldboydb.vast.count()
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年05月09日 21时59分43秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MSSQL数据库日志满的快速解决办法
2025-04-14
MongoDB 性能调优
2025-04-14
MongoDB 文档字段增删改
2025-04-14
MongoDB 核心技术详解
2025-04-14
MongoDB 系统管理与操作详解
2025-04-14
mongoDB 索引
2025-04-14
MongoDB 聚合
2025-04-14
mongodb 默认端口号_MongoDB的简单使用
2025-04-14
mongodb-地理坐标存储查询
2025-04-14
MongoDB与Mysql常用命令解释
2025-04-14
MongoDB两地三中心集群架构设计、全球多写集群架构设计
2025-04-14
Mongodb中的聚合函数使用:按月统计数量
2025-04-14
Mongodb主从配置
2025-04-14
Mongodb事务:基于spring+springmvc
2025-04-14
mongodb使用总结
2025-04-14
MXNet2Caffe 项目教程
2025-04-14