MongoDB(九) - MongoDB分片集安装与配置

文章目录

  • 一、下载MongoDB
    • [1. 下载MongoDB](#1. 下载MongoDB)
    • [2. 上传安装包](#2. 上传安装包)
    • [3. 基本概念](#3. 基本概念)
      • [3.1 配置服务器(Config Server,端口27021,副本集架构)](#3.1 配置服务器(Config Server,端口27021,副本集架构))
      • [3.2 路由节点(mongos,端口21020,部署在hadoop2)](#3.2 路由节点(mongos,端口21020,部署在hadoop2))
      • [3.3 分片1和分片2](#3.3 分片1和分片2)
        • [3.3.1 分片通用作用](#3.3.1 分片通用作用)
        • [3.3.2 分片1与分片2区别](#3.3.2 分片1与分片2区别)
  • 二、环境准备
    • [1. 部署规划](#1. 部署规划)
      • [1.1 集群架构说明](#1.1 集群架构说明)
      • [1.2 虚拟机与端口分配明细](#1.2 虚拟机与端口分配明细)
      • [1.3 主机基础信息](#1.3 主机基础信息)
    • [2. 集群相关目录规划与创建](#2. 集群相关目录规划与创建)
      • [2.1 hadoop1、hadoop2、hadoop3 目录创建](#2.1 hadoop1、hadoop2、hadoop3 目录创建)
      • [2.2 hadoop2 目录创建(独有mongos路由目录)](#2.2 hadoop2 目录创建(独有mongos路由目录))
    • [3. 端口占用检查](#3. 端口占用检查)
      • [3.3.1 配置阿里云 YUM 源](#3.3.1 配置阿里云 YUM 源)
      • [3.3.2 安装端口查看工具](#3.3.2 安装端口查看工具)
      • [3.3.3 检查端口占用情况](#3.3.3 检查端口占用情况)
  • 三、安装MongoDB
    • [1. 解压MongoDB安装包](#1. 解压MongoDB安装包)
    • [2. 重命名MongoDB文件夹名称](#2. 重命名MongoDB文件夹名称)
    • [3. 配置环境变量](#3. 配置环境变量)
    • [4. 安装mongosh命令行客户端工具](#4. 安装mongosh命令行客户端工具)
      • [4.1下载 mongosh 二进制包](#4.1下载 mongosh 二进制包)
      • [4.2 解压到安装目录](#4.2 解压到安装目录)
      • [4.3 重命名mongosh文件夹名称](#4.3 重命名mongosh文件夹名称)
      • [4.4 配置环境变量](#4.4 配置环境变量)
      • [4.5 分发mongosh和profile目录](#4.5 分发mongosh和profile目录)
  • 四、配置集部署与配置
    • [1. 修改配置文件](#1. 修改配置文件)
    • [2. 分发MongoDB相关目录](#2. 分发MongoDB相关目录)
    • [3. 启动配置副本集](#3. 启动配置副本集)
    • [4. 登录配置集MongoDB客户端](#4. 登录配置集MongoDB客户端)
    • [5. 初始化配置副本集](#5. 初始化配置副本集)
    • [6. 退出配置集MongoDB客户端](#6. 退出配置集MongoDB客户端)
    • [7. 配置集服务停止命令(维护备用,不要执行)](#7. 配置集服务停止命令(维护备用,不要执行))
  • 五、分片集1部署与配置
    • [1. 修改配置文件](#1. 修改配置文件)
    • [2. 分发MongoDB相关目录](#2. 分发MongoDB相关目录)
    • [3. 启动分片1副本集](#3. 启动分片1副本集)
    • [4. 登录分片集MongoDB客户端](#4. 登录分片集MongoDB客户端)
    • [5. 初始化分片1副本集](#5. 初始化分片1副本集)
    • [6. 退出分片集MongoDB客户端](#6. 退出分片集MongoDB客户端)
    • [7. 分片集1服务停止命令(维护备用,不要执行)](#7. 分片集1服务停止命令(维护备用,不要执行))
  • 六、分片集2部署与配置
    • [1. 修改配置文件](#1. 修改配置文件)
    • [2. 分发MongoDB相关目录](#2. 分发MongoDB相关目录)
    • [3. 启动分片2副本集](#3. 启动分片2副本集)
    • [4. 登录分片集MongoDB客户端](#4. 登录分片集MongoDB客户端)
    • [5. 初始化分片2副本集](#5. 初始化分片2副本集)
    • [6. 退出分片集MongoDB客户端](#6. 退出分片集MongoDB客户端)
    • [7. 分片集2服务停止命令(维护备用,不要执行)](#7. 分片集2服务停止命令(维护备用,不要执行))
  • 七、路由部署与配置
    • [1. 修改配置文件](#1. 修改配置文件)
    • [2. 启动路由](#2. 启动路由)
    • [3. 登录路由MongoDB客户端](#3. 登录路由MongoDB客户端)
    • [4. 添加分片](#4. 添加分片)
      • [4.1 添加分片1到分片集群](#4.1 添加分片1到分片集群)
      • [4.2 添加分片2到分片集群](#4.2 添加分片2到分片集群)
    • [5. 查看分片集群状态](#5. 查看分片集群状态)
    • [6. 退出路由MongoDB客户端](#6. 退出路由MongoDB客户端)
    • [7. 路由服务停止命令(维护备用,不要执行)](#7. 路由服务停止命令(维护备用,不要执行))

一、下载MongoDB

1. 下载MongoDB

MongoDB安装包下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.12.tgz

2. 上传安装包

通过拖移的方式将下载的MongoDB安装包mongodb-linux-x86_64-rhel70-7.0.12.tgz上传至虚拟机hadoop1的/export/software目录。

/export/software目录不存在则先创建。

python 复制代码
mkdir -p /export/software

3. 基本概念

3.1 配置服务器(Config Server,端口27021,副本集架构)

核心:集群元数据仓库,分片集群的"大脑"

  1. 存储集群全局元信息:数据库/集合的分片规则、分片键映射关系、数据在各个分片的分布位置、分片成员节点信息;
  2. 保存分片副本集拓扑、路由mongos配置、分片均衡器(Balancer)运行参数;
  3. 所有mongos路由节点启动时都会连接配置服务器拉取元数据,依靠元数据路由读写请求;
  4. 本环境采用3节点1主2从副本集,保证元数据高可用,元数据丢失整个分片集群不可用。

3.2 路由节点(mongos,端口21020,部署在hadoop2)

核心:集群入口网关,客户端唯一接入点

  1. 客户端所有增删改查、建表、分片命令全部连接mongos,客户端不用感知后端分片物理节点
  2. mongos从配置服务器拉取元数据,解析SQL/查询语句,自动拆分请求,分发到对应分片执行;
  3. 汇总多个分片返回的结果数据,合并后返回给客户端;
  4. 不存储任何业务数据和元数据,无本地磁盘数据,可横向扩容部署多个mongos做负载均衡,本实验只部署单台。

3.3 分片1和分片2

分片1、分片2功能完全一致,是存储真实业务数据的载体,物理隔离的两个数据分片

3.3.1 分片通用作用
  1. 持久化存储分片后的业务数据 :集合数据按照分片键规则,一部分数据落在分片1,剩余数据落在分片2,实现数据水平拆分;
  2. 每个分片自身是1主2从副本集:主节点负责数据读写,从节点做数据冗余备份,主节点故障自动选举新主,保证分片数据高可用;
  3. 分片均衡器Balancer会自动在分片1、分片2之间迁移数据,平衡两个分片的数据存储容量,避免单分片数据过载;
  4. 可后续横向新增Shard3、Shard4分片,实现集群无限扩容。
3.3.2 分片1与分片2区别

仅为数据分区的两个物理单元 ,没有功能区别,依靠分片键字段 划分数据归属:比如按user_id%2,偶数user_id落分片1、奇数落分片2。


二、环境准备

1. 部署规划

1.1 集群架构说明

本次搭建MongoDB分片集群 ,集群组成:1套路由mongos + 1套配置副本集(ConfigRS) + 2套分片副本集(Shard1RS、Shard2RS)

遵循MongoDB高可用规范:配置服务器副本集、每个分片均采用「1主2从」三节点副本集架构,保障数据冗余、故障自动切换。

  • 生产标准部署:

    正式环境需要10台物理服务器:

    1台 → 路由mongos服务;

    3台 → 配置副本集(Config Server,1主2从);

    6台 → 两个分片副本集(每个分片各3台,1主2从,2×3=6台)。

  • 实验简化部署(本文方案):

    为降低学习成本,使用3台Linux虚拟机(hadoop1、hadoop2、hadoop3) 混部所有组件,一台机器多端口运行不同MongoDB实例,快速完成分片全集群搭建。

1.2 虚拟机与端口分配明细

虚拟机主机名 配置副本集Config(27021) 路由mongos(21020) 分片1副本集Shard1(27018) 分片2副本集Shard2(27019)
hadoop1 从节点 - 主节点 从节点
hadoop2 主节点 启动 从节点 从节点
hadoop3 从节点 - 从节点 主节点

1.3 主机基础信息

主机名 IP地址 系统版本 MongoDB版本
hadoop1 192.168.121.160 CentOS7 MongoDB 7.0.12
hadoop2 192.168.121.161 CentOS7 MongoDB 7.0.12
hadoop3 192.168.121.162 CentOS7 MongoDB 7.0.12

2. 集群相关目录规划与创建

2.1 hadoop1、hadoop2、hadoop3 目录创建

hadoop1、hadoop2、hadoop3 三台节点执行批量创建命令:

bash 复制代码
# 分片集目录
mkdir -p /export/servers/shardCluster
# 配置服务器目录:配置+数据+日志
mkdir -p /export/servers/shardCluster/configServer
mkdir -p /export/servers/shardCluster/configServer/db
mkdir -p /export/servers/shardCluster/configServer/logs
# 分片1目录:配置+数据+日志
mkdir -p /export/servers/shardCluster/shard1
mkdir -p /export/servers/shardCluster/shard1/db
mkdir -p /export/servers/shardCluster/shard1/logs
# 分片2目录:配置+数据+日志
mkdir -p /export/servers/shardCluster/shard2
mkdir -p /export/servers/shardCluster/shard2/db
mkdir -p /export/servers/shardCluster/shard2/logs

目录释义:

目录路径 用途
/export/servers/shardCluster/configServer 配置服务器配置文件存放目录
/export/servers/shardCluster/configServer/db 配置副本集数据存储目录
/export/servers/shardCluster/configServer/logs 配置副本集运行日志目录
/export/servers/shardCluster/shard1 分片1配置文件目录
/export/servers/shardCluster/shard1/db 分片1数据目录
/export/servers/shardCluster/shard1/logs 分片1日志目录
/export/servers/shardCluster/shard2 分片2配置文件目录
/export/servers/shardCluster/shard2/db 分片2数据目录
/export/servers/shardCluster/shard2/logs 分片2日志目录

2.2 hadoop2 目录创建(独有mongos路由目录)

hadoop2 额外部署mongos路由,多创建mongos相关目录,执行命令:

bash 复制代码
# 独有:mongos路由目录
mkdir -p /export/servers/shardCluster/mongos
mkdir -p /export/servers/shardCluster/mongos/logs

mongos目录说明:

目录 作用
/export/servers/shardCluster/mongos mongos路由配置文件目录
/export/servers/shardCluster/mongos/logs mongos路由运行日志目录

3. 端口占用检查

部署MongoDB分片前,需要提前校验目标端口27021、27018、27019、21020未被系统其他进程占用,避免端口冲突导致实例启动失败。

3.3.1 配置阿里云 YUM 源

bash 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.3.2 安装端口查看工具

CentOS系统默认不带netstat,三台节点统一执行安装命令:

bash 复制代码
yum install net-tools -y

3.3.3 检查端口占用情况

检查本次集群用到的4个端口,命令:

bash 复制代码
netstat -antp | grep -E "27021|27018|27019|21020"
  • 无任何输出 → 端口空闲,可以正常部署;
  • 有输出 → 端口被占用,需要关停占用程序或更换MongoDB端口。

三、安装MongoDB

1. 解压MongoDB安装包

在虚拟机hadoop1上将MongoDB安装包解压至/export/servers目录。

shell 复制代码
tar -zxvf /export/software/mongodb-linux-x86_64-rhel70-7.0.12.tgz -C /export/servers/

解压完成如下图所示。

2. 重命名MongoDB文件夹名称

把MongoDB文件夹名称按标准命名方式(软件名-版本号)重命名。

shell 复制代码
mv /export/servers/mongodb-linux-x86_64-rhel70-7.0.12/ /export/servers/mongodb-7.0.12

3. 配置环境变量

分别在虚拟机hadoop1hadoop2hadoop3执行如下命令,向环境变量配置文件/etc/profile追加环境变量内容。配置环境变量后,需要加载环境变量配置文件/etc/profile,使hadoop的环境变量生效。

shell 复制代码
echo >> /etc/profile
echo 'export MONGODB_HOME=/export/servers/mongodb-7.0.12' >> /etc/profile
echo 'export PATH=$PATH:$MONGODB_HOME/bin' >> /etc/profile
source /etc/profile

配置好环境变量后,在虚拟机hadoop1执行如下命令验证环境变量是否配置成功。

shell 复制代码
mongod --version

成功如下图所示。

4. 安装mongosh命令行客户端工具

4.1下载 mongosh 二进制包

方法一:hadoop1使用wget命令下载到/export/software/目录下。

bash 复制代码
yum install wget -y
wget https://downloads.mongodb.com/compass/mongosh-2.3.1-linux-x64.tgz -P /export/software/

方法二: 点击下载地址下载后,上传到hadoop1/export/software/目录下。

下载地址:https://downloads.mongodb.com/compass/mongosh-2.3.1-linux-x64.tgz

4.2 解压到安装目录

在虚拟机hadoop1上将mongosh安装包解压至/export/servers目录。

bash 复制代码
tar -zxvf /export/software/mongosh-2.3.1-linux-x64.tgz -C /export/servers/

4.3 重命名mongosh文件夹名称

把mongosh文件夹名称按标准命名方式(软件名-版本号)重命名。

shell 复制代码
mv /export/servers/mongosh-2.3.1-linux-x64 /export/servers/mongosh-2.3.1

4.4 配置环境变量

在虚拟机hadoop1执行如下命令,向环境变量配置文件/etc/profile追加环境变量内容。配置环境变量后,需要加载环境变量配置文件/etc/profile,使环境变量生效。

bash 复制代码
echo >> /etc/profile
echo 'export MONGOSH_HOME=/export/servers/mongosh-2.3.1' >> /etc/profile
echo 'export PATH=$PATH:$MONGOSH_HOME/bin' >> /etc/profile
source /etc/profile

配置好环境变量后,在虚拟机hadoop1执行如下命令验证环境变量是否配置成功。

shell 复制代码
mongosh --version

4.5 分发mongosh和profile目录

把虚拟机hadoop1中的mongosh和profile目录复制到虚拟机hadoop2hadoop3中。

shell 复制代码
scp -r /export/servers/mongosh-2.3.1 root@hadoop2:/export/servers/
scp /etc/profile root@hadoop2:/etc/
shell 复制代码
scp -r /export/servers/mongosh-2.3.1 root@hadoop3:/export/servers/
scp /etc/profile root@hadoop3:/etc/

hadoop2hadoop3执行如下命令,重新加载环境变量配置文件/etc/profile,使环境变量生效。

bash 复制代码
source /etc/profile

重新加载环境变量配置文件后,在虚拟机hadoop2hadoop3执行如下命令验证环境变量是否配置成功。

shell 复制代码
mongosh --version

四、配置集部署与配置

1. 修改配置文件

hadoop1执行如下命令,生成configServer.conf配置文件:

shell 复制代码
cat >/export/servers/shardCluster/configServer/configServer.conf <<EOF
systemLog:
  destination: file
  path: /export/servers/shardCluster/configServer/logs/configServer.log
  logAppend: true
net:
  bindIp: 0.0.0.0
  port: 27021
storage:
  dbPath: /export/servers/shardCluster/configServer/db
processManagement:
  fork: true
replication: 
  replSetName: config
sharding: 
  clusterRole: configsvr
EOF

配置参数注释:

参数 说明
systemLog 日志持久化到文件,日志追加写入不覆盖
bindIp:0.0.0.0 允许全网段访问,集群跨主机通信必备
port:27021 Config固定服务端口
fork:true 后台守护进程启动
replSetName:config 配置副本集名称,三台必须同名
clusterRole:configsvr 标记当前实例为分片集群配置服务器,核心参数

2. 分发MongoDB相关目录

把虚拟机hadoop1中的MongoDB相关目录复制到虚拟机hadoop2hadoop3中。

shell 复制代码
scp -r /export/servers/mongodb-7.0.12 root@hadoop2:/export/servers/
scp -r /export/servers/shardCluster root@hadoop2:/export/servers/
shell 复制代码
scp -r /export/servers/mongodb-7.0.12 root@hadoop3:/export/servers/
scp -r /export/servers/shardCluster root@hadoop3:/export/servers/

3. 启动配置副本集

hadoop1、hadoop2、hadoop3 三台节点分别执行启动命令:

bash 复制代码
mongod -f /export/servers/shardCluster/configServer/configServer.conf

启动结果判断:控制台输出 child process started successfully 代表配置服务后台启动成功。

4. 登录配置集MongoDB客户端

在虚拟机hadoop1执行如下命令登录配置集MongoDB客户端。

shell 复制代码
mongosh --host hadoop1 --port 27021

5. 初始化配置副本集

在虚拟机hadoop1mongosh中执行如下命令初始化配置副本集。

shell 复制代码
rs.initiate({
  _id: "config",
  configsvr:true,
  members: [
    {_id:0,host:"hadoop1:27021",priority: 2},
    {_id:1,host:"hadoop2:27021",priority: 3},
    {_id:2,host:"hadoop3:27021"}
  ]
})

初始化成功如下图所示。

若要验证主从节点是否正确,可使用如下命令查看集群状态:

bash 复制代码
rs.status()

6. 退出配置集MongoDB客户端

在虚拟机hadoop1执行如下命令退出配置集MongoDB客户端。

shell 复制代码
exit

7. 配置集服务停止命令(维护备用,不要执行)

bash 复制代码
mongod --shutdown -f /export/servers/shardCluster/configServer/configServer.conf

五、分片集1部署与配置

在 MongoDB 分片集群中,分片(Shard) 并非单个服务器,而是以副本集(Replica Set) 形式部署的一组协同工作的 MongoDB 服务节点,它们共同维护集群中同一份数据的多个副本,确保数据高可用与容灾能力。

1. 修改配置文件

hadoop1执行如下命令,生成shard1.conf配置文件:

shell 复制代码
cat >/export/servers/shardCluster/shard1/shard1.conf <<EOF
systemLog:
  destination: file
  path: /export/servers/shardCluster/shard1/logs/shard1.log
  logAppend: true
net:
  bindIp: 0.0.0.0
  port: 27018
storage:
  dbPath: /export/servers/shardCluster/shard1/db
processManagement:
  fork: true
replication: 
  replSetName: shard1
sharding: 
  clusterRole: shardsvr
EOF

2. 分发MongoDB相关目录

把虚拟机hadoop1中的MongoDB相关目录复制到虚拟机hadoop2hadoop3中。

shell 复制代码
scp -r /export/servers/shardCluster/shard1 root@hadoop2:/export/servers/shardCluster/
shell 复制代码
scp -r /export/servers/shardCluster/shard1 root@hadoop3:/export/servers/shardCluster/

3. 启动分片1副本集

hadoop1、hadoop2、hadoop3 三台节点分别执行启动命令:

bash 复制代码
mongod -f /export/servers/shardCluster/shard1/shard1.conf

启动结果判断:控制台输出 child process started successfully 代表配置服务后台启动成功。

4. 登录分片集MongoDB客户端

在虚拟机hadoop1执行如下命令登录分片集MongoDB客户端。

shell 复制代码
mongosh --host hadoop1 --port 27018

5. 初始化分片1副本集

在虚拟机hadoop1mongosh中执行如下命令初始化配置副本集。

shell 复制代码
rs.initiate({
  _id: "shard1",
  members: [
    {_id:0,host:"hadoop1:27018",priority: 3},
    {_id:1,host:"hadoop2:27018",priority: 2},
    {_id:2,host:"hadoop3:27018"}
  ]
})

初始化成功如下图所示。

若要验证主从节点是否正确,可使用如下命令查看集群状态:

bash 复制代码
rs.status()

6. 退出分片集MongoDB客户端

在虚拟机hadoop1执行如下命令退出配置集MongoDB客户端。

shell 复制代码
exit

7. 分片集1服务停止命令(维护备用,不要执行)

bash 复制代码
mongod --shutdown -f /export/servers/shardCluster/shard1/shard1.conf

六、分片集2部署与配置

在 MongoDB 分片集群中,分片(Shard) 并非单个服务器,而是以副本集(Replica Set) 形式部署的一组协同工作的 MongoDB 服务节点,它们共同维护集群中同一份数据的多个副本,确保数据高可用与容灾能力。

1. 修改配置文件

hadoop1执行如下命令,生成shard2.conf配置文件:

shell 复制代码
cat >/export/servers/shardCluster/shard2/shard2.conf <<EOF
systemLog:
  destination: file
  path: /export/servers/shardCluster/shard2/logs/shard2.log
  logAppend: true
net:
  bindIp: 0.0.0.0
  port: 27019
storage:
  dbPath: /export/servers/shardCluster/shard2/db
processManagement:
  fork: true
replication: 
  replSetName: shard2
sharding: 
  clusterRole: shardsvr
EOF

2. 分发MongoDB相关目录

把虚拟机hadoop1中的MongoDB相关目录复制到虚拟机hadoop2hadoop3中。

shell 复制代码
scp -r /export/servers/shardCluster/shard2 root@hadoop2:/export/servers/shardCluster/
shell 复制代码
scp -r /export/servers/shardCluster/shard2 root@hadoop3:/export/servers/shardCluster/

3. 启动分片2副本集

hadoop1、hadoop2、hadoop3 三台节点分别执行启动命令:

bash 复制代码
mongod -f /export/servers/shardCluster/shard2/shard2.conf

启动结果判断:控制台输出 child process started successfully 代表配置服务后台启动成功。

4. 登录分片集MongoDB客户端

在虚拟机hadoop1执行如下命令登录分片集MongoDB客户端。

shell 复制代码
mongosh --host hadoop1 --port 27019

5. 初始化分片2副本集

在虚拟机hadoop1mongosh中执行如下命令初始化配置副本集。

shell 复制代码
rs.initiate({
  _id: "shard2",
  members: [
    {_id:0,host:"hadoop1:27019"},
    {_id:1,host:"hadoop2:27019",priority: 2},
    {_id:2,host:"hadoop3:27019",priority: 3}
  ]
})

初始化成功如下图所示。

若要验证主从节点是否正确,可使用如下命令查看集群状态:

bash 复制代码
rs.status()

6. 退出分片集MongoDB客户端

在虚拟机hadoop1执行如下命令退出配置集MongoDB客户端。

shell 复制代码
exit

7. 分片集2服务停止命令(维护备用,不要执行)

bash 复制代码
mongod --shutdown -f /export/servers/shardCluster/shard2/shard2.conf

七、路由部署与配置

在 MongoDB 分片集群中,路由(mongos)是对外提供服务的统一入口与查询网关。它不存储数据,而是负责接收客户端请求,根据元数据将操作精准分发至对应的分片节点并聚合返回结果。启动 mongos 时,用户可通过命令行选项或配置文件两种方式灵活指定运行参数(如连接配置服务器地址、监听端口等),从而根据实际生产需求调整其行为,确保集群的高效访问与负载均衡。

1. 修改配置文件

hadoop2执行如下命令,生成mongos.conf配置文件:

shell 复制代码
cat >/export/servers/shardCluster/mongos/mongos.conf <<EOF
systemLog:
  destination: file
  path: /export/servers/shardCluster/mongos/logs/mongos.log
  logAppend: true
net:
  bindIp: 0.0.0.0
  port: 27020
processManagement:
  fork: true
sharding:
  configDB: config/hadoop1:27021,hadoop2:27021,hadoop3:27021
EOF

2. 启动路由

hadoop2 节点执行启动命令:

bash 复制代码
mongos -f /export/servers/shardCluster/mongos/mongos.conf

启动结果判断:控制台输出 child process started successfully 代表配置服务后台启动成功。

3. 登录路由MongoDB客户端

在虚拟机hadoop1执行如下命令登录路由MongoDB客户端。

shell 复制代码
mongosh --host hadoop2 --port 27020

4. 添加分片

4.1 添加分片1到分片集群

在虚拟机hadoop2mongosh中执行如下命令添加分片1到分片集群。

bash 复制代码
sh.addShard("shard1/hadoop1:27018,hadoop2:27018,hadoop3:27018")

4.2 添加分片2到分片集群

在虚拟机hadoop2mongosh中执行如下命令添加分片2到分片集群。

bash 复制代码
sh.addShard("shard2/hadoop1:27019,hadoop2:27019,hadoop3:27019")

5. 查看分片集群状态

在虚拟机hadoop2mongosh中执行如下命令查看分片集群状态。

bash 复制代码
sh.status()

6. 退出路由MongoDB客户端

在虚拟机hadoop1执行如下命令退出配置集MongoDB客户端。

shell 复制代码
exit

7. 路由服务停止命令(维护备用,不要执行)

bash 复制代码
kill -9 $(pgrep mongos)
相关推荐
念何架构之路1 小时前
存储层技术MySQL
数据库·mysql
cfm_29141 小时前
Redis高并发多级缓存介绍 + JDHotkey热点探测了解
数据库·redis·缓存
yun呐1 小时前
mysql数据库误删恢复
数据库·mysql·adb
IvorySQL1 小时前
PostgreSQL 技术日报 (6月3日)|复制日志补丁更新,PG 黑客坊开启
数据库·人工智能·postgresql
j7~1 小时前
【MYSQL】图形化界面使用说明-- MYSQL(workbench)
数据库·mysql·mysql图形化界面·mysqlworkbench
小猿姐2 小时前
三种 MongoDB Operator 实测对比:Community、Percona 与 KubeBlocks,谁更适合团队落地?
运维·mongodb·kubernetes
m0_653031362 小时前
(文档)第124讲:异构数据库同步利器 — SynchDB使用全攻略
数据库
_Kafka_2 小时前
Oracle EBS 有期间控制的模块
数据库·oracle
light blue bird2 小时前
工序 BOM 协同系统架构多模块组件
数据库·信息可视化·.net