在Linux系统中,主要是使用命令行进行mongodb的分片集群部署

一、先决条件

mongodb安装成功,明确路径, MongoDB的几个路径:

    1. /var/lib/mongodb
    2. /var/log/mongodb
    3. /etc/mongod.conf
    4. usr/bin/

二、分片部署

在三台机器上分别新建五个角色的数据文件夹、日志文件夹(其中前端路由不用数据文件夹),其中五个角色分别是:路由前端、服务器、分片一、分片二和分片三。并且首先,服务器的复制集是布置分片集群的必要条件,在建立路由前端方便使用这个集群,再分别添加分片,而分片的复制集更能够防止出现意外情况使得数据丢失。

在Linux系统中,主要是fork是以守护进程的方式运行MongoDB。

  机器 118.24.165.225 129.28.108.238 132.232.229.60
路由前端 mongos 27000 27000 27000
服务器复制集 config 27020 27020 27020
分片一复制集 shard1 27021 27021 27021
分片二复制集 shard2 27022 27022 27022
分片三复制集 shard3 27023 27023 27023

(1)新建目录,使用Linux

//删除已存在的数据,日志目录文件夹
sudo rm -r /var/log/mongodb0
sudo rm -r /var/lib/mongodb0
//新建数据,日志目录文件夹
sudo mkdir /var/log/mongodb0
sudo mkdir /var/lib/mongodb0

(2)首先,编辑服务器的mongod0.conf

sudo vi /etc/mongod0.conf

其具体mongod0.conf截图如下:

 (3)执行mongod0.conf
sudo mongod --config /etc/mongod0.conf

 
(4)连接服务器端口,在服务器主节点布置服务器的复制集

mongo -port 27020
cfg = { _id:"config", members:[
                     {_id:0,host:"118.24.165.225:27020"},
                     {_id:1,host:"129.28.108.238:27020"},
                     {_id:2,host:"132.232.229.60:27020"}
                ]
         }
rs.initiate(cfg)
  

 (5)编辑前端路由mongos.conf
sudo vim  mongos.conf

 (5)执行前端路由mongos.conf
sudo mongos --config /etc/mongos.conf
 
(6)连接前端路由端口
mongo -port 27000
 

 (7)布置分片1、2和3,步骤如服务器复制集的:新建数据、日志文件夹,编辑配置文件conf,执行配置文件、连接端口
 
 
 
 (8)在mongos添加分片
sh.addShard("shard1/118.24.165.225:27021,129.28.108.238:27021,132.232.229.60:27021")
sh.addShard("shard2/118.24.165.225:27022,129.28.108.238:27022,132.232.229.60:27022")
sh.addShard("shard3/118.24.165.225:27023,129.28.108.238:27023,132.232.229.60:27023")
 
 

(8)查询集群状态

sh.status()

 
 
 
 
 
 

MongoDB DBA 实践8-----Linux系统Mongodb分片集群部署的更多相关文章

  1. MongoDB DBA 实践6-----MongoDB的分片集群部署

    一.分片 MongoDB使用分片技术来支持大数据集和高吞吐量操作. 1.分片目的 对于单台数据库服务器,庞大的数据量及高吞吐量的应用程序对它而言无疑是个巨大的挑战.频繁的CRUD操作能够耗尽服务器的C ...

  2. mongoDB研究笔记:分片集群部署

    前面几篇文章的分析复制集解决了数据库的备份与自动故障转移,但是围绕数据库的业务中当前还有两个方面的问题变得越来越重要.一是海量数据如何存储?二是如何高效的读写海量数据?尽管复制集也可以实现读写分析,如 ...

  3. MongoDB在windows平台分片集群部署

    本文转载自:https://www.cnblogs.com/hx764208769/p/4260177.html 前言-为什么我要使用mongodb 最近我公司要开发一个日志系统,这个日志系统包括很多 ...

  4. MongoDB部署实战(一)MongoDB在windows平台分片集群部署

    前言-为什么我要使用mongodb 最近我公司要开发一个日志系统,这个日志系统包括很多类型,错误的,操作的,...用MongoDB存储日志,大量的日志产生,大量读写吞吐量很大的时候,单个Server很 ...

  5. MongoDB最新4.2.7版本三分片集群修改IP实操演练

    背景 重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾 ...

  6. MongoDB分片集群部署方案

    前言 副本集部署是对数据的冗余和增加读请求的处理能力,却不能提高写请求的处理能力:关键问题是随着数据增加,单机硬件配置会成为性能的瓶颈.而分片集群可以很好的解决这一问题,通过水平扩展来提升性能.分片部 ...

  7. 关于Linux系统下zookeeper集群的搭建

    1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...

  8. 分布式消息系统之Kafka集群部署

    一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...

  9. mongodb 通过mongodump来备份Sharded Cluste分片集群

    1,mongodb所有组件官方文档地址:https://docs.mongodb.com/manual/reference/command/,所有的基础组件都在里面,包括备份恢复的mongodump. ...

随机推荐

  1. 自动为DEV GridView控件添加SizeChanged事件

    实现gdv设置的抽象对象,不用每个gdv控件都添加sizechanged事件,只需执行gdc绑定sql函数,在其中会自动添加SizeChanged事件. //2016.5.13 by sngk //根 ...

  2. 深入理解String、StringBuffer、StringBuilder(转)

    文章系转载,非原创,原地址: http://www.cnblogs.com/dolphin0520/p/3778589.html 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公 ...

  3. java线程与进程的比较

    线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元:而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任 ...

  4. 利用SpEL 表达式实现简单的动态分表查询

    这里的动态分表查询并不是动态构造sql语句,而是利用SpEL操作同一结构的不同张表. 也可以参考Spring Data Jpa中的章节http://docs.spring.io/spring-data ...

  5. Character.digit()的意义

    最近在阅读Integet.parseInt()源码时,遇到了Character.digit()这个方法,以前没有遇到过,更没使用过,这里查了资料就记录一下. 官方说法是: java.lang.Char ...

  6. js 正则匹配 两个字符串之间,某个字符串之前(之后)的内容

    1.js截取两个字符串之间的内容: var str = "aaabbbcccdddeeefff"; str = str.match(/aaa(\S*)fff/)[1]; alert ...

  7. 【t092】迷之阶梯

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在经过地球防卫小队的数学家连续多日的工作之后,外星人发的密码终于得以破解.它告诉我们在地球某一处的古老 ...

  8. 【50.40%】【BZOJ 4553】[Tjoi2016&Heoi2016]序列

    Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 371  Solved: 187 [Submit][Status][Discuss] Descript ...

  9. vue+element-ui实现分页

    我使用得是el-table+el-pagination来实现的, 话不多说,直接上代码 html代码部分 <!-- table --> <el-table :data="s ...

  10. Python之end关键字使用

    关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: a, b = 0, 1 while b < 1000: print(b, end=',') a, b = b, ...