MongoDB实战-分片集群实战

本文详细介绍了如何在Linux环境下实战MongoDB的分片集群配置。内容包括启动分片组件,创建并初始化两个副本集作为分片,以及设置配置服务器的过程,最终确保所有组件正常运行。
摘要由CSDN通过智能技术生成

     理解分片的最佳途径就是了解它实际是怎么工作的。幸运的是可以在一台机器上配置分片集群。

1. 配置

    配置是分片集群有两个步骤。第一步,启动所有需要的mongod和mongos进程。第二步,也是比较简单的一步,发出一系列命令来初始化集群。你将构建的分片集群由两个分片和三个配置服务器组成,另外还要启动一个mongos与集群通信。你要启动的全部进程如下图所示


   你需要运行一堆命令来启动集群,因此如果觉得自己比较困惑,不妨回头过来看看这个图。

(1)启动分片组件

首先在开始为两个副本集创建数据目录,它们将成为分片的一部分:本文中使用基于linux的mongoDB

mkdir /data/rs-a-1
mkdir /data/rs-a-2
mkdir /data/rs-a-3
mkdir /data/rs-b-1
mkdir /data/rs-b-2
mkdir /data/rs-b-3
     接下来,启动每个进程mongod进程。因为要运行很多进程,所以可以使用--fork选项,让他们运行在后台。以下是启动第一个副本集的命令。

mongod --shardsvr --replSet shard-a -dbpath /data/rs-a-1 --port 30000 --logpath /data/rs-a-1.log --fork --nojournal
mongod --shardsvr --replSet shard-a -dbpath /data/rs-a-2 --port 30001 --logpath /data/rs-a-2.log --fork --nojournal
mongod --shardsvr --replSet shard-a -dbpath /data/rs-a-3 --port 30002 --logpath /data/rs-a-3.log --fork --nojournal
以下是启动第二个副本集的命令:

mongod --shardsvr --replSet shard-a -dbpath /data/rs-b-1 --port 30100 --logpath /data/rs-b-1.log --fork --nojournal
mongod --shardsvr --replSet shard-a -dbpath /data/rs-b-2 --port 30101 --logpath /data/rs-b-2.log --fork --nojournal
mongod --shardsvr --replSet shard-a -dbpath /data/rs-b-3 --port 30102 --logpath /data/rs-b-3.log --fork --nojournal
   如往常一样,现在要初始化这些副本集了。单独连上每个副本集,运行rs.initiate(),随后添加剩余的节点。第一个副本集上的命令是这样的:

mongo iZ2ze5yfpvmnb0sgd00igpZ:30000
rs.initiate()

大概一分钟后,初始节点变为主节点,执行步骤如下图

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值