机器:ubuntu 2台

ip:

  • 192.168.0.131 host1
  • 192.168.0.132 host2

安装mongodb

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list sudo apt-get update sudo apt-get install -y mongodb-org


文件目录

    port:

  •   27017 mongos 路由
  • 30000 configServer 配置服务
  • 27018 分片

    dbpath:

  • null mongos

  • /app/mongo/data/config/data configServer

  • /app/mongo/data/shard/data shard

将启动mongod配置文件放在/app/mongo/config目录下

1.configServer

在192.168.0.131

  
 mkdir -p /app/mongo/data/config/data
   mkdir -p /app/mongo/data/config/log
   vim /app/mongo/config/configserver.conf
   
dbpath=/app/mongo/data/config/data
   port=30000
   bind_ip=0.0.0.0
   configsvr=true
   replSet=conf

利用supervisor启停

[program:configdb]
command=mongod -f /app/mongo/config/configserver.conf
autostart=true
autorestart=true
stderr_logfile =/app/mongo/data/config/log/err.log
stdout_logfile =/app/mongo/data/config/log/out.log

在192.168.0.132 同样操作

登陆任意服务器客户端初始化config

 mongo --port 30000
config = {_id:"conf", members:[

  {_id:0, host:"192.168.0.131:30000"},

  {_id:1, host:"192.168.0.132:30000"}

  ]

};

rs.initiate(config);

2.路由mongos配置

在192.168.0.132

mkdir -p /app/mongo/data/mongos/log
 vim /app/mongo/config/mongos.conf
port = 27017
bind_ip=0.0.0.0
configdb=conf/192.168.0.131:30000,192.168.0.132:30000

利用supervisor启停

[program:mongos]
command=mongos -f /app/mongo/config/mongos.conf
autostart=true
autorestart=true
stdout_logfile = /app/mongo/data/mongos/log/out.log
stderr_logfile = /app/mongo/data/mongos/log/err.log
loglevel=info

3.分片

在192.168.0.131

mkdir -p /app/mongo/data/shard/data

mkdir -p /app/mongo/data/shard/logs
vim /app/mongo/config/mongod.conf dbpath=/app/mongo/data/shard/data
port=27018
bind_ip=0.0.0.0
shardsvr=true

利用supervisor启停

#mongod.conf
[program:mongod]
command=mongod -f /app/mongo/config/mongod.conf
autorestart=true
redirect_stderr=true
stdout_logfile = /app/mongo/data/shard/logs/mongod.log
loglevel=info
  supervisorctl reload

在192.168.0.132

mkdir -p /app/mongo/data/shard/data

mkdir -p /app/mongo/data/shard/logs

4.mongos上添加shard节点

mongo --port 27017
use admin
db.runCommand( {addshard : "192.168.0.131:27018"});
db.runCommand( {addshard : "192.168.0.132:27018"});

查看节点信息

db.runCommand( { listshards : 1 } );

为数据库添加分片主键(以db.col为例)

sh.enableSharding("db")
db.runCommand({"shardCollection":"db.col","key":{"_id":1}})
 
 

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

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

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

  2. Zookeeper3.4.10 + ActiveMQ-5.15.0 集群搭建

    网上的教程真的是凤毛麟角,就不想说啥了,一次一次把我带入坑. 好了关于Zookeeper的搭建已经说好了,本文说说基于Zookeeper的MQ集群. 第一步.将mq安装包上传到CentOS7,并解压 ...

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

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

  4. mongodb3集群搭建

    三台服务器:先设置hosts 10.0.0.231 node1 10.0.0.232 node2 10.0.0.233 node3 1:下载 mongodb-linux-x86_64-rhel70-3 ...

  5. MongoDB3.2 集群搭建

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

  6. MongoDB 3.4 高可用集群搭建(二)replica set 副本集

    转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<MongoDB 3.4 高可用集群搭建(一):主从模式&g ...

  7. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  8. Mongodb集群搭建的三种方式

    转自:http://blog.csdn.net/luonanqin/article/details/8497860 MongoDB是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key- ...

  9. kafka集群搭建和使用Java写kafka生产者消费者

    1 kafka集群搭建 1.zookeeper集群  搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties ...

随机推荐

  1. Robotframework-Appium 之常用API(二)

    续接上一文,更多API详细如下: 注:更多官方详情信息见 http://robotframework.org/robotframework/ 28. Name: Install App Source: ...

  2. Java Socket重要参数讲解

    (转自http://www.cnblogs.com/ggjucheng/archive/2012/01/06/2314679.html) ( http://docs.oracle.com/javase ...

  3. PAT甲 1009. Product of Polynomials (25) 2016-09-09 23:02 96人阅读 评论(0) 收藏

    1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  4. Spring MVC 的@RequestParam注解和request.getParameter("XXX")

    在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取.这里主要 ...

  5. lua的table的删除操作

    直接使用table的remove方法 , , } table.remove(tab) --默认删除最后一个元素,第二个参数可以指定删除位置 删除后,后面的元素会往前移动.有点像C++的std::vec ...

  6. 阉割版BBBlack安装Debian

    开门见山,直入主题 咸鱼入手3块阉割ARM板,经过快递近6天运输到手,不过价格便宜 东西下面这样的(借了咸鱼的图): 发现这块板是阉割版的国外beagleboard.org型号为BeagleBone ...

  7. NLayerAppV3--基础结构层(Cross-Cutting部分)

    回顾:NLayerAppV3是一个使用.net 2.1实现的经典DDD的分层架构的项目. NLayerAppV3是在NLayerAppV2的基础上,使用.net core2.1进行重新构建的:它包含了 ...

  8. c# list修改某一个属性的值

    public class info() { public string name{get;set;} public string age{get;set;} } list<info> li ...

  9. C#一个简单的关于线程的实例

    很多初学者听到线程会觉得晦涩难懂,很多资料一堆专有名词也是让人心烦意乱,本着学习加分享的态度,这里做一个简单的实例分享帮助初学者们初识多线程.  首先大概讲述一下多线程和多进程的区别,任务管理器里各种 ...

  10. .Net Core + NGINX跳转登录时端口丢失

    使用.Net Core + NGINX部署到服务器的时候,如果端口不是使用默认的80端口,在跳转到登录页面时,URL中的端口丢失. NGINX的配置如下: server { listen ; loca ...