三台服务器:先设置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. eval实例

    .... var sel_MedicineType = 'sel_MedicineType' + lastIndex; eval(sel_MedicineType + "= new C_Se ...

  2. meta标签使用

    META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). ★HTTP-EQUIV HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助 ...

  3. D3.js 之 d3-shap 简介(转)

    [转] D3.js 之 d3-shap 简介 译者注 原文: 来自 D3.js 作者 Mike Bostock 的 Introducing d3-shape 译者: ssthouse 联系译者: 邮箱 ...

  4. new types may not be defined in a return type(c++语言编译错误,处理)

    在写程序的时候,定义类时要在大括号后面加上: class Point{ public: Point(int a,int b); Point(const Point &p); int getx( ...

  5. 【bzoj1030】: [JSOI2007]文本生成器 字符串-AC自动机-DP

    [bzoj1030]: [JSOI2007]文本生成器 首先把匹配任意一个的个数的问题转化为总个数-没有一个匹配的个数 先构造AC自动机,然后枚举每一位的字母以及在自动机上的位置 f[i][j]为第i ...

  6. C语言数据结构-链式栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作

    1.数据结构-链式栈的实现-C语言 //链式栈的链式结构 typedef struct StackNode { int data; struct StackNode *next; } StackNod ...

  7. Unity---UGUI入门基础---更新中

    目录 1.UGUI介绍 2.UGUI基础 2.1 Canvas---画布 2.2 Text控件 2.3 Image控件 2.4 RawImage控件 2.5 Button控件 2.6 Toggle控件 ...

  8. CF986B Petr and Permutations 思维

    每次交换:逆序对的数量+1或者-1: 假设最后逆序对数量为 sum; ①x+y=3n; ②x-y=sum; -> 3n+sum为偶数: 所以 n 和 sum 必须奇偶一样: #include&l ...

  9. mysql8.0的新特性

    https://www.cnblogs.com/kevingrace/p/10482469.html MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 ...

  10. docker容器时间不对及java程序时间不对解决

    使用docker容器部署的应用,会出现时间与主机不一致的情况 1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致 解决方法:挂载主机的/etc/localtime,如果没 ...