在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考。

计划如下:

用5台机器搭建,IP分别为:192.168.58.5、192.168.58.6、192.168.58.8、192.168.58.9、192.168.58.10。分为两个分片,每个分片下有一个primary,一个secondary,一个仲裁。在其中三台启动config server和mongos。

shard1:58.5、58.6、58.10(仲裁)

shard2:58.8、58.9、58.10(仲裁)

config server:58.5、58.8、58.10

mongos:58.5、58.8、58.10

实施如下:

1、所有机器创建mongodb文件夹

mkdir -p /opt/mongodb

cd  /opt/mongodb

2、所有机器下载mongodb的安装程序包

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz

tar xvzf mongodb-linux-x86_64-2.4.8.tgz

3、分别在相应机器建立mongos 、config 、 shard1 、shard2目录

#58.5、58.8、58.10建立mongos目录
mkdir -p /opt/mongodb/mongos/log
#58.5、58.8、58.10建立config server 数据文件存放目录
mkdir -p /opt/mongodb/config/data
#58.5、58.8、58.10建立config server 日志文件存放目录
mkdir -p /opt/mongodb/config/log
#58.5、58.6、58.10建立shard1 数据文件存放目录
mkdir -p /opt/mongodb/shard1/data
#58.5、58.6、58.10建立shard1 日志文件存放目录
mkdir -p /opt/mongodb/shard1/log
#58.8、58.9、58.10建立shard2 数据文件存放目录
mkdir -p /opt/mongodb/shard2/data
#58.8、58.9、58.10建立shard2 日志文件存放目录
mkdir -p /opt/mongodb/shard2/log
 
4、规划组件对应的端口号,这个端口可以自由定义,在本文 mongos为 27017, config server 为 21000, shard1为 22001 , shard2为22002
 
5、58.5、58.8、58.10分别启动配置服务器
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --configsvr --dbpath /opt/mongodb/config/data --port 21000 --logpath /opt/mongodb/config/log/config.log --fork
 
6、58.5、58.8、58.10分别启动mongos服务器
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongos  --configdb 192.168.58.5:21000,192.168.58.8:21000,192.168.58.10:21000  --port 27017   --logpath  /opt/mongodb/mongos/log/mongos.log --fork
 
7、配置各个分片的副本集
#58.5、58.6、58.10分别设置分片1服务器及副本集shard1
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard1 --port 22001 --dbpath /opt/mongodb/shard1/data  --logpath /opt/mongodb/shard1/log/shard1.log --fork
#58.8、58.9、58.10分别设置分片2服务器及副本集shard2
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard2 --port 22002 --dbpath /opt/mongodb/shard2/data  --logpath /opt/mongodb/shard2/log/shard2.log --fork
 
8、分别对每个分片配置副本集

1)登陆192.168.58.5

#设置第一个分片副本集
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:22001
#使用admin数据库
use admin
#定义副本集配置
config = { _id:"shard1", members:[
                     {_id:0,host:"192.168.58.5:22001"},
                     {_id:1,host:"192.168.58.6:22001"},
                     {_id:2,host:"192.168.58.10:22001",arbiterOnly:true}
                ]
         }
#初始化副本集配置
rs.initiate(config);
2)登陆192.168.58.8
#设置第二个分片副本集
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:22002
#使用admin数据库
use admin
#定义副本集配置
config = { _id:"shard2", members:[
                     {_id:0,host:"192.168.58.8:22002"},
                     {_id:1,host:"192.168.58.9:22002"},
                     {_id:2,host:"192.168.58.10:22002",arbiterOnly:true}
                ]
         }
#初始化副本集配置
rs.initiate(config);
 
9、目前搭建了mongodb配置服务器、路由服务器,各个分片服务器,不过应用程序连接到 mongos 路由服务器并不能使用分片机制,还需要设置分片配置,让分片生效
登陆192.168.58.10
#连接到mongos
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:27017
#使用admin数据库
use admin
#串联路由服务器与分配副本集1
db.runCommand( { addshard : "shard1/192.168.58.5:22001,192.168.58.6:22001,192.168.58.10:22001"});
#串联路由服务器与分配副本集2
db.runCommand( { addshard : "shard2/192.168.58.8:22002,192.168.58.9:22002,192.168.58.10:22002"});
#查看分片服务器的配置
db.runCommand( { listshards : 1 } );
 
10、完成

搭建MongoDB分片集群的更多相关文章

  1. Windows 搭建MongoDB分片集群(二)

    在本篇博客中我们主要讲描述分片集群的搭建过程.配置分片集群主要有两个步骤,第一启动所有需要的mongod和mongos进程.第二步就是启动一个mongos与集群通信.下面我们一步步来描述集群的搭建过程 ...

  2. Windows 搭建MongoDB分片集群(一)

    一.角色说明 要构建一个MongoDB分片集群,需要三个角色: shard server  即存储实际数据得分片,每个shard 可以是一个Mongod实例,也可以是一组mongod实例构成得Repl ...

  3. MongoDB 分片集群实战

    背景 在如今的互联网环境下,海量数据已随处可见并且还在不断增长,对于如何存储处理海量数据,比较常见的方法有两种: 垂直扩展:通过增加单台服务器的配置,例如使用更强悍的 CPU.更大的内存.更大容量的磁 ...

  4. MongoDB分片集群原理、搭建及测试详解

    随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...

  5. 网易云MongoDB分片集群(Sharding)服务已上线

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. MongoDB sharding cluster(分片集群)是MongoDB提供的数据在线水平扩展方案,包括 ...

  6. 分布式文档存储数据库之MongoDB分片集群

    前文我们聊到了mongodb的副本集以及配置副本集,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13953598.html:今天我们来聊下mongodb的分片 ...

  7. mongodb分片集群

    第一章 1.mongodb 分片集群解释和目的 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 第二章 1. ...

  8. TiDB和MongoDB分片集群架构比较

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近阅读了TiDB源码的说明文档,跟MongoDB的分片集群做了下简单对比. 首先展示TiDB的整体架构 M ...

  9. CentOS7+Docker+MangoDB下部署简单的MongoDB分片集群

    简单的在Docker上快速部署MongoDB分片集群 前言 文中使用的环境如下 OS:CentOS Linux release 7.5.1804 (Core) Docker:Docker versio ...

随机推荐

  1. OpenCV-2.4.6-android-sdk 人脸识别demo搭建

    最近项目需要研究下人脸识别,在领导推荐下准备研究OpenCV 一,上官网了解下 基本知识 http://docs.opencv.org/doc/tutorials/introduction/andro ...

  2. 2.shell变量

    shell的变量的介绍 shell的变量分为系统变量和用户自定义变量系统变量:$HOME, $PWD, $SHELL, $USER等等,这些变量系统已经定义好了,我们可以直接拿来用用户自定义变量:我们 ...

  3. 在另一个文本框显示input file选择的文件名字

    javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中图片的决对路径,尤其一些基于webkit的浏览器 ...

  4. rest-framework-@action()装饰器

    路由Routers 使用方法:   在urls.py中定义路由 from rest_framework.routers import DefaultRouter # 定义视图集的路由 router = ...

  5. SFTP获取数据文件

    使用SFTP:客户端从服务端获取数据文件 客户机: 用户:client IP:13.00.00.11 服务端: 用户:server IP:16.00.00.66 1.在客户端的根目录下,执行下面的命令 ...

  6. IE webkit 滚动条样式!

    <style type="text/css"> // IE 模式 *{ scrollbar-face-color:#F3F3F3; /*面子*/ scrollbar-a ...

  7. 自定义的一个JDBC工具类

    package JDBCutils; import java.io.File;import java.io.FileInputStream;import java.sql.Connection;imp ...

  8. HSV与RGB的相互转换的公式

    H参数表示色彩信息,即所处的光谱颜色的位置.该参数用一角度量来表示,红.绿.蓝分别相隔120度.互补色分别相差180度.纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比 ...

  9. Python与数据结构[4] -> 散列表[2] -> 开放定址法与再散列的 Python 实现

     开放定址散列法和再散列 目录 开放定址法 再散列 代码实现 1 开放定址散列法 前面利用分离链接法解决了散列表插入冲突的问题,而除了分离链接法外,还可以使用开放定址法来解决散列表的冲突问题. 开放定 ...

  10. [Codeforces 23D] Tetragon

    Brief Intro: 给3条相同长度的边的中点,问是否存在一个严格凸四边形 Algorithm: 明显只要求出一个点就能利用对称性算出其他点的坐标 设中点K,L,M分别在边AB,BC,CD上,易知 ...