三台服务器:先设置hosts
10.0.0.231 node1
10.0.0.232 node2
10.0.0.233 node3

1:下载 mongodb-linux-x86_64-rhel70-3.4.6.tgz

安装目录:/usr/local/mongodb-linux-x86_64-rhel70-3.4.6

软链接 ln -s  mongodb-linux-x86_64-rhel70-3.4.6 mongodb

2:下图指定端口,三台服务器情况:

3:设置环境变量

服务器:node1,node2,node3分别设置

修改/etc/profile文件:

export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

并重新生效 source /ect/profile

4:创建数据文件夹

服务器:node1,node2,node3分别创建

mkdir -p /usr/local/mongodb/data//logs /usr/local/mongodb/data//pid /usr/local/mongodb/data//data
mkdir -p /usr/local/mongodb/data//logs /usr/local/mongodb/data//pid /usr/local/mongodb/data//data
mkdir -p /usr/local/mongodb/data//logs /usr/local/mongodb/data//pid /usr/local/mongodb/data//data
mkdir -p /usr/local/mongodb/data//logs /usr/local/mongodb/data//pid /usr/local/mongodb/data//data
mkdir -p /usr/local/mongodb/data//logs /usr/local/mongodb/data//pid /usr/local/mongodb/data//data
mkdir -p /usr/local/mongodb/clusting

5:创建shard文件配置

服务器:node1,node2,node3的clusting文件夹中

分别创建  27011.conf    27012.conf    27013.conf    27014.conf    27015.conf  5个文件

6:分别配制conf内容

服务器:node1,node2,node3的clusting文件夹中

27011.conf    27012.conf    27013.conf ,配制方法为

port=
bind_ip=node1
logpath=/usr/local/mongodb/data//logs/l.log
logappend=true
pidfilepath=/usr/local/mongodb/data//pid/l.pid
dbpath=/usr/local/mongodb/data//data
replSet=rs001
fork=true

注意replSet的值:27011.conf :rs001   27012.conf :rs002   27013.conf :rs003

27014.conf

port=
bind_ip=node1
logpath=/usr/local/mongodb/data//logs/l.log
logappend=true
pidfilepath=/usr/local/mongodb/data//pid/l.pid
dbpath=/usr/local/mongodb/data//data
replSet=configReplSet
fork=true
configsvr=true

注意replSet的值:configReplSet

27015.conf

port=
logpath=/usr/local/mongodb/data//logs/l.log
pidfilepath=/usr/local/mongodb/data//pid/l.pid
configdb=configReplSet/node1:,node2:,node3:
fork=true

三台机器根据服务器不同,节点不同来相应修改

node1: 27011.conf    27012.conf    27013.conf    27014.conf    27015.conf

node2: 27011.conf    27012.conf    27013.conf    27014.conf    27015.conf

node3: 27011.conf    27012.conf    27013.conf    27014.conf    27015.conf

总共15个配制文件

7:启动服务 --先启动Shard服务

node1,node2,node3

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/clusting/.conf
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/clusting/.conf
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/clusting/.conf

然后在node1上

登录mongo服务编写配置:

/usr/local/mongodb/mongo --port  --host node1
开始初使化:

cfg={ _id:"rs001", members:[ {_id:0,host:'node1:27011',priority:2}, {_id:1,host:'node2:27011',priority:1},{_id:2,host:'node3:27011',arbiterOnly:true}] };

rs.initiate(cfg)

#查看状态
rs.status();
/usr/local/mongodb/mongo --port 27012 --host node1
开始初使化:

cfg={ _id:"rs002", members:[ {_id:0,host:'node1:27012',priority:2}, {_id:1,host:'node2:27012',priority:1},{_id:2,host:'node3:27012',arbiterOnly:true}] };

rs.initiate(cfg)

#查看状态
rs.status();
/usr/local/mongodb/mongo --port  --host node1

开始初使化:

cfg={ _id:"rs003", members:[ {_id:,host:'node1:27013',priority:}, {_id:,host:'node2:27013',priority:},{_id:,host:'node3:27013',arbiterOnly:true}] };

rs.initiate(cfg)

#查看状态
rs.status();

8:启动confing server服务

node1,node2,node3

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/clusting/.conf

然后在node1上

登录mongo服务编写配置:

/usr/local/mongodb/mongo --port  --host node1

开始初使化:

cfg={ _id:"configReplSet", members:[ {_id:,host:'node1:27014',priority:}, {_id:,host:'node2:27014',priority:},{_id:,host:'node3:27014',arbiterOnly:true}] };

rs.initiate(cfg)

#查看状态
rs.status();

9:启动Router服务

node1,node2,node3

/usr/local/mongodb/bin/mongos -f /usr/local/mongodb/clusting/.conf

然后在node1上

登录mongo服务,然后在Router服务中添加分片信息,顺序执行

/usr/local/mongodb/bin/mongo --port  --host node1

sh.addShard("rs001/node1:27011,node2:27011,node3:27011")

sh.addShard("rs001/node1:27012,node2:27012,node3:27012")

sh.addShard("rs001/node1:27013,node2:27013,node3:27013")
执行: sh.enableSharding("transport")   对数据库transport进行分片操作。

执行: sh.shardCollection( "transport.kuaixin", {"_id": "hashed" } ) ,对collection的分配规则

执行: sh.shardCollection( "transport.lixin", {"_id": "hashed" } ) ,对collection的分配规则。

至此,Mongodb集群搭建完成。

执行sh.status()查看搭建状态,其中是没有显示出Arbiter节点,因为这个节点只用于投票,不存储副本数据。

mongodb3集群搭建的更多相关文章

  1. mongodb3.6集群搭建:分片+副本集

    mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  2. mongoDB3.4的sharding集群搭建及JavaAPI的简易使用

    第一部分 在搭建mongoDB之前,我们要考虑几个小问题: 1.我们搭建集群的目的是什么?是多备份提高容错和系统可用性还是横向拓展存储大规模数据还是两者兼有? 如果是为了多备份那么选择replicat ...

  3. MongoDB3.2 集群搭建

    一.集群的理论知识 1.1 集群成员 MongoDB的集群类似于GreenPlum集群,由一个入口节点负责任务分发与结果统计,分片结节负责执行任务.不同GP,多了一个config servers. 集 ...

  4. mongodb 3.4 集群搭建:分片+副本集

    mongodb是最常用的nodql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  5. mongodb 3.6 集群搭建:分片+副本集

    mongodb是最常用的nosql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  6. mongodb之 3.4.0 mongodb sharing 副本集群搭建

    系统系统 centos6.5三台服务器:10.100.25.42/43/44安装包: mongodb-linux-x86_64-rhel62-3.4.0.tgz 服务器规划:mongos mongos ...

  7. MongoDB分布式集群搭建

    最近在做一个关于车险的项目,由于数据量较大,实验室的Boss决定采用HBase+ES/MongoDB这两种方案,并做性能对比,本人负责MongoDB方案.为了满足海量数据的存储要求,需要搭建一个分布式 ...

  8. MongoDB集群搭建-分片

    MongoDB集群搭建-分片 一.场景: 1,机器的磁盘不够用了.使用分片解决磁盘空间的问题. 2,单个mongod已经不能满足写数据的性能要求.通过分片让写压力分散到各个分片上面,使用分片服务器自身 ...

  9. MongoDB windows基础配置及集群搭建

    由于公司业务的发展MSSQL已处于瓶颈.因为没钱买牛逼服务器只能靠软件来实现最大优化了.原来的系统架构如下图:

随机推荐

  1. [转]ORA-12516, TNS:listener could not find available handler with matching protocol stack

    转至:http://blog.csdn.net/MichaelSrc/article/details/6760247 1.查看当前连接进程数 SQL>select count(*) from v ...

  2. Java50道经典习题-程序25 根据输入求输出

    题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同.分析:分别创建两个数用于判断,一个数为12321,另一个数是12341 分别取出该数的"个十百千万 ...

  3. Dojo Style Guide

    Contents: General Quick Reference Naming Conventions Specific Naming Conventions Files Variables Lay ...

  4. 说“DPI”

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.03.08更新:2007.04.02 目录一.基本概念二.图像文件中的DPI三.PDG文件中的DPI四.PDF文件中 ...

  5. 封闭解(Closed-form solution)、解析解(Analytical solution)、数值解(Numerical solution) 释义

    转俞夕的博客 (侵删) 1 解析解 解析解(Analytical solution) 就是根据严格的公式推导,给出任意的自变量就可以求出其因变量,也就是问题的解,然后可以利用这些公式计算相应的问题.所 ...

  6. AtCoder Grand Contest 011D(思维,规律,异或)

    #include<bits/stdc++.h>using namespace std;char s[200007];int ans[200007];int main(){    int n ...

  7. jzoj4916. 【GDOI2017模拟12.9】完全背包问题 (背包+最短路)

    题面 题解 考场上蠢了--这么简单的东西都想不到-- 首先排序加去重. 先来考虑一下,形如 \[a_1x_1+a_2x_2+...a_nx_n=w,a_1<a_2<...<a_n,x ...

  8. Cardinality (基数)

    名词 Cardinality:    优化器在计算成本的时候,需要从统计信息中取得数据,然后去估计每一步操作所涉及的行数,叫做Cardinality.    比如,一张表T有1000行数据,列COL1 ...

  9. docker log: containerid-json.log 文件disappear,问题排查及解决方案

    问题排查: 运行 #docker info   查阅资料,知道了docker的logging driver相关理论:https://docs.docker.com/engine/admin/loggi ...

  10. anularjs前端分页

    var dataList = []; $scope.page = { page:1, pageSize:15, numPerPageOpt:[15,30,50,100], totalNum:0, to ...