MongoDB DBA 实践8-----Linux系统Mongodb分片集群部署
在Linux系统中,主要是使用命令行进行mongodb的分片集群部署
一、先决条件
mongodb安装成功,明确路径, MongoDB的几个路径:
- /var/lib/mongodb
- /var/log/mongodb
- /etc/mongod.conf
- 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截图如下:

sudo mongod --config /etc/mongod0.conf
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)
sudo vim mongos.conf
sudo mongos --config /etc/mongos.conf
mongo -port 27000
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分片集群部署的更多相关文章
- MongoDB DBA 实践6-----MongoDB的分片集群部署
一.分片 MongoDB使用分片技术来支持大数据集和高吞吐量操作. 1.分片目的 对于单台数据库服务器,庞大的数据量及高吞吐量的应用程序对它而言无疑是个巨大的挑战.频繁的CRUD操作能够耗尽服务器的C ...
- mongoDB研究笔记:分片集群部署
前面几篇文章的分析复制集解决了数据库的备份与自动故障转移,但是围绕数据库的业务中当前还有两个方面的问题变得越来越重要.一是海量数据如何存储?二是如何高效的读写海量数据?尽管复制集也可以实现读写分析,如 ...
- MongoDB在windows平台分片集群部署
本文转载自:https://www.cnblogs.com/hx764208769/p/4260177.html 前言-为什么我要使用mongodb 最近我公司要开发一个日志系统,这个日志系统包括很多 ...
- MongoDB部署实战(一)MongoDB在windows平台分片集群部署
前言-为什么我要使用mongodb 最近我公司要开发一个日志系统,这个日志系统包括很多类型,错误的,操作的,...用MongoDB存储日志,大量的日志产生,大量读写吞吐量很大的时候,单个Server很 ...
- MongoDB最新4.2.7版本三分片集群修改IP实操演练
背景 重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾 ...
- MongoDB分片集群部署方案
前言 副本集部署是对数据的冗余和增加读请求的处理能力,却不能提高写请求的处理能力:关键问题是随着数据增加,单机硬件配置会成为性能的瓶颈.而分片集群可以很好的解决这一问题,通过水平扩展来提升性能.分片部 ...
- 关于Linux系统下zookeeper集群的搭建
1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...
- 分布式消息系统之Kafka集群部署
一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...
- mongodb 通过mongodump来备份Sharded Cluste分片集群
1,mongodb所有组件官方文档地址:https://docs.mongodb.com/manual/reference/command/,所有的基础组件都在里面,包括备份恢复的mongodump. ...
随机推荐
- 自动为DEV GridView控件添加SizeChanged事件
实现gdv设置的抽象对象,不用每个gdv控件都添加sizechanged事件,只需执行gdc绑定sql函数,在其中会自动添加SizeChanged事件. //2016.5.13 by sngk //根 ...
- 深入理解String、StringBuffer、StringBuilder(转)
文章系转载,非原创,原地址: http://www.cnblogs.com/dolphin0520/p/3778589.html 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公 ...
- java线程与进程的比较
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元:而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任 ...
- 利用SpEL 表达式实现简单的动态分表查询
这里的动态分表查询并不是动态构造sql语句,而是利用SpEL操作同一结构的不同张表. 也可以参考Spring Data Jpa中的章节http://docs.spring.io/spring-data ...
- Character.digit()的意义
最近在阅读Integet.parseInt()源码时,遇到了Character.digit()这个方法,以前没有遇到过,更没使用过,这里查了资料就记录一下. 官方说法是: java.lang.Char ...
- js 正则匹配 两个字符串之间,某个字符串之前(之后)的内容
1.js截取两个字符串之间的内容: var str = "aaabbbcccdddeeefff"; str = str.match(/aaa(\S*)fff/)[1]; alert ...
- 【t092】迷之阶梯
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在经过地球防卫小队的数学家连续多日的工作之后,外星人发的密码终于得以破解.它告诉我们在地球某一处的古老 ...
- 【50.40%】【BZOJ 4553】[Tjoi2016&Heoi2016]序列
Time Limit: 20 Sec Memory Limit: 128 MB Submit: 371 Solved: 187 [Submit][Status][Discuss] Descript ...
- vue+element-ui实现分页
我使用得是el-table+el-pagination来实现的, 话不多说,直接上代码 html代码部分 <!-- table --> <el-table :data="s ...
- Python之end关键字使用
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: a, b = 0, 1 while b < 1000: print(b, end=',') a, b = b, ...