MongoDB实战(11)Sharding分片(下)-创新互联

管理维护Sharding

在常德等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站设计 网站设计制作按需网站制作,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸网站建设,常德网站建设费用合理。

列出所有的Shard Server

MongoDB实战(11)Sharding 分片(下)

查看Sharding信息

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

判断是否是Sharding

MongoDB实战(11)Sharding 分片(下)

对现有的表进行Sharding
刚才我们是对表test.users 进行分片了,下面我们将对库中现有的未分片的表test.users_2 进
行分片处理
表最初状态如下,可以看出他没有被分片过:

MongoDB实战(11)Sharding 分片(下)

对其进行分片处理:

MongoDB实战(11)Sharding 分片(下)

再次查看分片后的表的状态,可以看到它已经被我们分片了

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

新增Shard Server

刚才我们演示的是新增分片表,接下来我们演示如何新增Shard Server
启动一个新Shard Server 进程

MongoDB实战(11)Sharding 分片(下)

配置新Shard Server

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

查看分片表状态,以验证新Shard Server

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

我们可以发现,当我们新增Shard Server 后数据自动分布到了新Shard 上,这是由MongoDB
内部自已实现的。

移除Shard Server

有些时候有于硬件资源有限,所以我们不得不进行一些回收工作,下面我们就要将刚刚启用
的Shard Server 回收,系统首先会将在这个即将被移除的Shard Server 上的数据先平均分配
到其它的Shard Server 上,然后最终在将这个Shard Server 踢下线, 我们需要不停的调用
db.runCommand({"removeshard" : "localhost:20002"});来观察这个移除操作进行到哪里了:

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

最终移除后,当我们再次调用db.runCommand({"removeshard" : "localhost:20002"});的时候系统
会报错,已便通知我们不存在20002 这个端口的Shard Server 了,因为它已经被移除掉了。

接下来我们看一下表中的数据分布:

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

MongoDB实战(11)Sharding 分片(下)

可以看出数据又被平均分配到了另外2 台Shard Server 上了,对业务没什么特别大的影响。

但是为什么节点还存在呢,这里留了一个疑问???

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:MongoDB实战(11)Sharding分片(下)-创新互联
文章位置:http://hbruida.cn/article/dhcgco.html