三台服务器:先设置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. ubuntu - 常用问题解决命令

    查看本机网络通畅 - 网络是否可连接(远程链接时,检验防火墙) ping -c 10 localhost 查看本机进程/端口占用情况(看某一进程是否开启) netstat -tln 具体查看某一进程 ...

  2. [SinGuLaRiTy] 2017-07-22 NOIP2017 模拟赛

    [SInGuLaRiTy-1029] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. <全是看看代码就会的水题,偷个懒不单独写题解了~& ...

  3. STL学习笔记--临时对象的产生与运用

    所谓的临时对象,就是一种无名对象(unnamed objects).它的出现如果不在程序员的预期之下,往往造成效率上的负担.但有时刻意制造一些临时对象,却又是使程序干净清爽的技巧.刻意制造临时对象的方 ...

  4. 【转】在Asp.net前台和后台弹出提示框

    源地址:http://blog.sina.com.cn/s/blog_5200dd680100mkk0.html

  5. poj 1743 Musical Theme(最长重复子串 后缀数组)

    poj 1743 Musical Theme(最长重复子串 后缀数组) 有N(1 <= N <=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复 ...

  6. Python列表删除的三种方法

    1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> prin ...

  7. SpringBoot dubbo之class is not visible from class loader

    使用了两个类加载器加载了同一个类,区分一个Class对象是否相等要看包名+类名,也要看是否是同一个类加载器 方案一,排查掉spring-boot-devtools模块的maven引入可以解决,这时候所 ...

  8. ios对new Date() 的兼容问题

    移动开发的一个小坑 我们一般这样创建一个日期变量 var d = new Date("2017-08-11 12:00:00"); 但是在ios上却是返回 invalid Date ...

  9. PAT天梯赛L1-020 帅到没朋友

    题目链接:点击打开链接 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友.本题就要求你找出那些帅到没有朋友的人. 输入格式: 输入第一行给出一个正整数N(<=100),是已知朋 ...

  10. 解决spring使用动态代理

    解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ... 转 ...