在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

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

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

  1. sudo vi /etc/mongod0.conf

其具体mongod0.conf截图如下:

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

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

  1. 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
  1. sudo vim mongos.conf

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

 (7)布置分片1、2和3,步骤如服务器复制集的:新建数据、日志文件夹,编辑配置文件conf,执行配置文件、连接端口
 
 
 
 (8)在mongos添加分片
  1. 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)查询集群状态

  1. 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. Laravel 中config的用法

    Laravel的config下一般存放配置信息,可以通过config('key')方法获取指定的数据. 设置值可通过「点」式语法读取,其中包含要访问的文件名以及选项名称. 现在想读取\config\a ...

  2. JS精度问题,解决方案 math.js

    JS精度问题    Vue中使用 解决方案 math.js npm install mathjs import { create, all } from 'mathjs' const config = ...

  3. Educational Codeforces Round 7、

    A - Infinite Sequence 题意:有一种这样的无限序列数 1,1,2,1,2,3.....   (如果最大数n,那么就有从1到n的所有1到n的数): 思路:题意只给了1秒.直接模拟肯定 ...

  4. [转]Win10下安装Linux子系统

    工作以来一直DotNet系偏C/S, 接触Web开发的时间也不长, 现在主要偏向Web全栈方向, 一直对Linux系统心生向往, 夜深了娃睡了, 打开老旧的笔记本来折腾一下. 准备工作 控制面板 &g ...

  5. php框架thinkphp3.2.3 配置文件bug

    bug:有前后台的项目部署阶段(DEBUG模式为false)中,修改应用配置文件后,无效,修改自定义配置文件,正常;(开发模式正常) //项目只有后台没有前台的(单独模块),直接写在模块配置中即可,不 ...

  6. 高并发下载tomcat下的文件时,发生java.net.SocketException: Connection reset解决方案

    (1)问题产生:使用500个线程并发下载tomcat工程中的一个文件时,服务器出现java.net.SocketException: Connection reset异常, 客户端出现connect ...

  7. UPC个人训练赛第十五场(AtCoder Grand Contest 031)

    传送门: [1]:AtCoder [2]:UPC比赛场 [3]:UPC补题场 参考资料 [1]:https://www.cnblogs.com/QLU-ACM/p/11191644.html B.Re ...

  8. 2018-8-10-win10-uwp-绘图--Line-控件使用

    title author date CreateTime categories win10 uwp 绘图 Line 控件使用 lindexi 2018-08-10 19:16:51 +0800 201 ...

  9. 将url传参的中文字符在页面中显示正常

    //将url传参的中文字符在页面中显示正常var url=decodeURI(url);

  10. Linux内核接口特定的类型

    内核中一些通常使用的数据类型有它们自己的 typedef 语句, 因此阻止了任何移植性问 题. 例如, 一个进程标识符 ( pid ) 常常是 pid_t 而不是 int. 使用 pid_t 屏蔽了任 ...