在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. [转载] linux、Solaris下xdmcp远程桌面服务

    原文链接 http://youlvconglin.blog.163.com/blog/static/52320420106243857254/ 使用图形界面远程登录linux和Solaris,首先要在 ...

  2. P1094 百钱白鸡

    题目描述 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱. 输入格式 无. 输出格式 输出所有 ...

  3. H3C DHCP服务器基本配置示例

  4. HDU 3974 Assign the task

    Assign the task Problem Description There is a company that has N employees(numbered from 1 to N),ev ...

  5. Aizu 0531 "Paint Color" (坐标离散化+DFS or BFS)

    传送门 题目描述: 为了宣传信息竞赛,要在长方形的三合板上喷油漆来制作招牌. 三合板上不需要涂色的部分预先贴好了护板. 被护板隔开的区域要涂上不同的颜色,比如上图就应该涂上5种颜色. 请编写一个程序计 ...

  6. 微信小程序之在线答题(2)

    Tips:前端进阶的概念一直比较模糊,我们往往以掌握知识的多少来划分初级中级和高级,但这并不全面,谁都不能保证自己掌握的知识是最全最好的,尤其在前端工程师这个职业,每天都是日新月异. 所以,我认为要分 ...

  7. dotnet 判断程序当前使用管理员运行降低权使用普通权限运行

    有一些程序是不想通过管理员权限运行的,因为在很多文件的读写,如果用了管理员权限程序写入的程序,其他普通权限的程序是无法直接访问的.本文告诉大家如何判断当前的程序是通过管理员权限运行,然后通过资源管理器 ...

  8. 【37.48%】【hdu 2587】How far away ?(3篇文章,3种做法,LCA之ST算法(RMQ))

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  9. 网摘-获取屏幕dc并且将其画面显示在窗体中

    获取屏幕dc并且将其画面显示在窗体中 HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND. HDC hScreenDC = ::GetDC(hWnd);   // ...

  10. hdu 6579 Operation (在线线性基)

    传送门 •题意 一个数组a有n个数 m个操作 操作① 询问$[l,r]$区间的异或值 操作② 在数组末尾追加一个数x,数组长度变为$n+1$ 其中$l,r$不直接给出,其中$l=l%n+1,r=r%n ...