在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. Editplus配置java编译运行环境

    1.进入配置环境界面 首先,从菜单"工具(Tools)"->"配置用户工具..."进入用户工具设置. 在类别里展开"工具"树形菜单-& ...

  2. H3C NAT Server配置举例

  3. 【codeforces 764B】Timofey and cubes

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  4. H3C 多路径网络中环路产生过程(2)

  5. MySQL视图 definer & invoker 权限

    1.创建视图 CREATE VIEW `NewView`AS SELECT `user`.USER_ID, `user`.USER_NAME, department.DEPT_ID, departme ...

  6. yum安装错误:CRITICAL:yum.cli:Config Error: Error accessing file for config file:///home/linux/+

    上网搜了一下然后自己总结一份 : 出现原因:yum可能没有,或者损坏 解决: 第一步:下载   wget  http://yum.baseurl.org/download/3.2/yum-3.2.28 ...

  7. Canvas学习实践:一款简单的动画游戏

    最近学习了下Canvas绘图...突发奇想就有了下面这款简单的小游戏,纯属娱乐~ 废话不多说,直接上代码: <!DOCTYPE html> <html lang="zh&q ...

  8. vue-learning:12-1- HTML5的<template>内容模板元素

    HTML5的<template>内容模板元素 HTML内容模板<template>元素将它其中的内容存储在页面文档中,以供后续使用,该内容的DOM结构在加载页面时会被解析器处理 ...

  9. HDU1166 敌兵布阵 BZOJ1012 最大数[树状数组]

    一.前置知识-树状数组 树状数组(binary indexed tree)是一种简洁的代码量很小的数据结构,能够高效的处理前缀区间上的问题.在很多情况下能写树状数组解决的就不用码半天线段树了. 树状数 ...

  10. basedir的介绍

    os内置dirname方法就是文件目录的往上找一级 #得到当前文件名或者路径 if __name__ == "__main__": print(__file__) #这是os的一个 ...