三台服务器:先设置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. web.xml 注册中央调度器Url-pattern 要注意的地方(五)

    一.url-pattern 里面不能用/*     二.最好不要写成杠,如果使用“/”,中央调度器会把静态资源拦截掉,比如图片会不显示,或者css不能用.   但,如果地址栏传参数的时候比如是/del ...

  2. ubuntu配置静态路由

    1. #ifconfig 注意 eth0为你要配置的interfase 2. #vi /etc/network/interfaces # This file describes the network ...

  3. B - Pie (二分)

    My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N ...

  4. arcgis图片文件

  5. C# 实现retry

    C# 有try-catch ,但是没有retry 功能,通过用有限次循环的办法来模拟Retry,当然中间需要加一个等待的过程. 我们可以利用C#的匿名方法(anonymous methods)和匿名委 ...

  6. 6.House Robber(简单版抢银行)

    Level:   Easy 题目描述: You are a professional robber planning to rob houses along a street. Each house ...

  7. vue.js使用elemnetUi

    安装: npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 引入 Element 你可以引入整个 Element,或是 ...

  8. 商品录入功能v1.0【持续优化中...】

    # 录入商品 def goods_record(): print("欢迎使用铜锣辉的购物商城[商品管理][录入商品]".center(30, "*")) whi ...

  9. [PowerShell]get data from Ini File

    $filedata = @' app.name=Test App app.version=1.2 '@ $filedata | set-content appdata.txt $AppProps = ...

  10. git学习---去除版本控制

    本地这样去除文件夹 node_modules 的版本关联:执行:git rm -r --cached "node_modules/"提交: git commit -am 'remo ...