机器: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. delphi 使用oauth的控件

    unit OAuth; interface uses Classes, SysUtils, IdURI, Windows; type EOAuthException = class(Exception ...

  2. Easy Ui 的reload 问题

    当我删除某条数据时,删除成功后要刷新datagrid 这时调用reload方法就不成功,而要用下面的方式. 正确代码$('#fixedGrid').datagrid("reload" ...

  3. 仿建设银行APP首页效果

    仿建设银行APP首页效果 下载地址: http://pan.baidu.com/s/1eRMYEzC 下载后需要解压,解压密码联系:390980233  收费88元 HTML+JS实现,下载即可试用. ...

  4. .Net Core 自定义配置源从配置中心读取配置

    配置,几乎所有的应用程序都离不开它..Net Framework时代我们使用App.config.Web.config,到了.Net Core的时代我们使用appsettings.json,这些我们再 ...

  5. C#计算机性能参数

    Process proc = Process.GetCurrentProcess(); //string info = "内存:" + (Environment.WorkingSe ...

  6. winform 批量控件取值赋值

    以前写winform 最多写几个文本框,最近需要入录一个人员信息,那好几十个字段,一下子干蒙了,这要是一个个取值赋值都写到明天了,于是就自己写了个方法,也不是什么高大上的,就是很简单很普通很low的方 ...

  7. ASP.NET 实现多页面合并一页显示

    目前业务有一个需求: 就是把多个网页合并到一个页面显示, 在实现过程中我一般使用两种方法: 利用母版页设置导航栏, 定位到每个网页; 利用用户控件( .acsx 后缀的文件), 但是有个问题就是传参比 ...

  8. “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  9. python stdout 重定向

    import sys class Buffer(object): def __init__(self): self.buffer = [] def write(self, *args, **kwarg ...

  10. JavaScript基础函数和词法分析以及常用的内置对象和使用方法(4)

    day52 参考:https://www.cnblogs.com/liwenzhou/p/8004649.html 函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式 ...