目录Outline
1. prerequisites
2. steps to follow
3. configuring the cluster
4. a little test to see

1. Prerequisites

Suppose:
(1) you have deploy a functioning network to install mongodb cluster.
(2) you have gained the latest releases of MongoDB from 10gen.
(3) you have installed mongodb in the path $MongoHome.
(4) there are three folders, that are bin,dbs,logs, in $MongoHome folder.
(5) there are four servers here to make four shards in the cluster.
(6) their IP4 addresses are:
    +pc3:192.168.0.104
    +pc2:192.168.0.103
    +pc1:192.168.0.102
    host:192.168.0.100

2. Steps to follow

#1 biuld up mongod instance on every node.
    using the following CMD in Terminal on every shard marchine:
    -bash bash-install-shard...files.

bash-install-shard#!/bin/bash

mongo=/root/mongodb
data=$mongo/data
logs=$mongo/logs if ! [ -d $data ]
then
mkdir -p $data
fi if ! [ -d $logs ]
then
mkdir -p $logs
fi read -p "input a shard name :" shard
echo $shard
read -p "input a port :" port
echo $port mongod --shardsvr --replSet $shard --port $port --dbpath $data --oplogSize 100 --logpath $logs/shrd.log --logappend --profile=1 --slowms=5 --rest --smallfiles

#2 set up mongod instance of config server
    using the following CMD in Terminal on every config server marchine:
    -bash bash-install-config

bash-install-config#!/bin/bash

mongo=/root/mongodb
cfg=$mongo/config
data=$mongo/data
logs=$mongo/logs if ! [ -d $logs ]
then
mkdir -p $logs
fi if ! [ -d $cfg ]
then
mkdir -p $cfg
fi echo config server path: $cfg ,port:27018
mongod --configsvr --dbpath $cfg --port 27018 --logpath $logs/config.log --logappend

#3 initiate every replica set
    ssh every shard server, run mongo to login its local mongod instance,
    then write a config file for the relica set, and run rs.initate(config).
    see "shard initialize"file for more information.

shard-initializeshard1:
config = {_id: 'shard1', members: [ {_id: 0, host: '192.168.0.100:27020'}, {_id: 1, host: '192.168.0.102:27020'}]} shard2:
config = {_id: 'shard2', members: [ {_id: 0, host: '192.168.0.102:27021'}, {_id: 1, host: '192.168.0.103:27021'}]} shard3:
config= {_id: 'shard3', members: [ {_id: 0, host: '192.168.0.103:27022'}, {_id: 1, host: '192.168.0.104:27022'}]} shard4:
config = {_id: 'shard4', members: [ {_id: 0, host: '192.168.0.104:27023'}, {_id: 1, host: '192.168.0.100:27023'}]} rs.initiate(config)

#4 start mongos server
    using the following CMD in Terminal on every mongos server marchine:
    -bash bash-install-mongos

bash-install-mongos#!/bin/bash

configsvr1=192.168.0.115:27018
configsvr2=192.168.0.112:27018
configsvr3=192.168.0.110:27018 mongo=/root/mongodb
data=$mongo/data
logs=$mongo/logs if ! [ -d $logs ]
then
#mkdir -p $data
mkdir -p $logs
fi mongos --configdb $configsvr1,$configsvr2,$configsvr3 --port 27017 --chunkSize 5 --logpath $logs/mongos.log --logappend

#5 add shards to the cluster
    login one of the mongos, use sh.addShard("shard1/192.168.0.100:27020") CMD to add every shard.
    see "Add shards to the cluster" file for more information.

Add-shards-to-the-cluster#Add shards to the cluster

mongos> sh.addShard("shard1/192.168.0.100:27020")
{ "shardAdded" : "shard1", "ok" : 1 } mongos> sh.addShard("shard2/192.168.0.102:27021")
{ "shardAdded" : "shard2", "ok" : 1 } mongos> sh.addShard("shard3/192.168.0.103:27022")
{ "shardAdded" : "shard3", "ok" : 1 } mongos> sh.addShard("shard4/192.168.0.104:27023")
{ "shardAdded" : "shard4", "ok" : 1 }

Up to now a distributed MongoDB cluster with replica set has established, and its architecture may go like this:

3. Configuring your cluster to make it sharded

快速搭建MongoDB分布式集群的更多相关文章

  1. 带你快速了解 MongoDB 分布式集群

    在分布式应用系统中,mongodb 已经成为 NoSQL 经典数据库.要想很好的使用 mongodb,仅仅知道如何使用它是不够的.只有对其架构原理等有了充分认识,才能在实际运用中使其更好地服务于应用, ...

  2. mongodb分布式集群搭建手记

    一.架构简介 目标单机搭建mongodb分布式集群(副本集 + 分片集群),演示mongodb分布式集群的安装部署.简单操作. 说明在同一个vm启动由两个分片组成的分布式集群,每个分片都是一个PSS( ...

  3. 超快速使用docker在本地搭建hadoop分布式集群

    超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...

  4. hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)

    目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...

  5. hadoop(二)搭建伪分布式集群

    前言 前面只是大概介绍了一下Hadoop,现在就开始搭建集群了.我们下尝试一下搭建一个最简单的集群.之后为什么要这样搭建会慢慢的分享,先要看一下效果吧! 一.Hadoop的三种运行模式(启动模式) 1 ...

  6. Storm环境搭建(分布式集群)

    作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理.下边直接上干货,跟笔者的步伐一块儿安装storm. 原文链接:Storm环境搭建(分布式 ...

  7. 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群

    超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 ps:本文的步骤已自实现过一遍,在正文部分避开了旧版教程在新版使用导致出错的内容,因此版本一致的情况下照搬执行基本不会有大错误. ...

  8. 在 Ubuntu 上搭建 Hadoop 分布式集群 Eclipse 开发环境

    一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果. 一 .环境 1.操作系统 ...

  9. 搭建MongoDB分片集群

    在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...

随机推荐

  1. Java网页数据采集器[下篇-数据查询]【转载】

    本期概述 上一期我们学习了如何将html采集到的数据存储到MySql数据库中,这期我们来学习下如何在存储的数据中查询我们实际想看到的数据. 数据采集页面 2011-2012赛季英超球队战绩 如果是初学 ...

  2. spring中的ResourceBundleMessageSource

    1 首先创建两个资源文件    messages_en_US.properties customer.name=Yong Mook Kim, age : {0}, URL : {1} messages ...

  3. web.xml里<filter-mapping>中的<dispatcher>作用

    2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个< ...

  4. delphi 08 HTML组件

    ///HTML组件///后面的字符串为这个控件的ID号///直线          Line         (WebBrowser1.Document as IHTMLDocument2).exec ...

  5. sqoop的安装与使用

    1.什么是Sqoop Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具.充分利用MapReduce并行特点以批处理的方式加快传输数据.发展至今 ...

  6. iOS XMPP(2)自己创建客户端

    一.目的以及效果: 用Xcode利用xmpp框架建立客户端,实现向服务器注册添加用户 密码,以及登陆,离线状态 工程的主要结构:新建singleview工程,用xib拖放两个输入框和两个按钮, 并在v ...

  7. A simple way for hover pop bootstrap nav-menu

    .navbar .nav > li .dropdown-menu { margin:; } .navbar .nav > li:hover .dropdown-menu { display ...

  8. 在vs中跑动kdtree 和 bbf

    这两天的学习模型都来自:http://blog.csdn.net/masibuaa/article/details/9246493 所谓的bbf 英文名字叫做best bin first 译名:最优节 ...

  9. 给jdk写注释系列之jdk1.6容器(12)-PriorityQueue源码解析

    PriorityQueue是一种什么样的容器呢?看过前面的几个jdk容器分析的话,看到Queue这个单词你一定会,哦~这是一种队列.是的,PriorityQueue是一种队列,但是它又是一种什么样的队 ...

  10. .net mvc sample 参考网址

    http://www.asp.net/mvc/samples     http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store- ...