机器: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. 20155320 2016-2017-2 《Java程序设计》第7周学习总结

    20155320 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 时间与日期 认识时间与日期 时间的度量 GMT(Greenwich Mean Time)时间 ...

  2. 用Execute操作数据库

    1.原型是:_ConnectionPtr Execute( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ); 参数 1. ...

  3. HDU 3472 混合图欧拉回路 + 网络流

    九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/13799337 题意: T个测试数据 n串字符 能否倒过来用(1表示能倒着用) 问 ...

  4. Oracle EBS中有关Form的触发器的执行顺序

    http://blog.csdn.net/postfxj/article/details/8135769 触发器执行顺序: 1.  当打开FORM时: (1)       PRE-FORM (2)   ...

  5. 数据库选项--ALTER DATABASE WITH 选项

    指定当数据库从一种状态转换到另一种状态时,何时回滚未完成的事务. 如果终止子句被忽略,则当数据库中存在任何锁时,ALTER DATABASE 语句将无限期等待. 只能指定一条终止子句,而且该子句应跟在 ...

  6. CS中窗体的基类(BaseForm)注意点

    窗体基类最好新建一个窗体(BaseForm) 1.这样能够保证在VS中保证他的派生窗口也能够可视化. 2.如果基类直接是一个cs类文件,对于处理派生窗口就很复杂,比如按钮权限之类的操作; 如果直接继承 ...

  7. 【 PLSQL Developer安装、tnsnames.ora配置 解答】

    使用plsql远程连接数据库需要安装plsql工具+ oracle的远程客户端 在不登录的状态打开plsql: 点击工具---首选项:指定oracle客户端的安装路径: C:\javaSoft\PLS ...

  8. C# Linq 学习笔记

    刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// ...

  9. Asp.NetCore初步探究

      1,  新建一个空的AspNetCore项目,默认Program下的代码如下: public static void Main(string[] args) { BuildWebHost(args ...

  10. vs2017 修改项目名称

    由于经常接到各种项目需求, 又不想重新搭建框架. 于是便想到直接修改项目名. 话不多说, 上图~ 1 重命名 解决方案 和  项目名称 2 重命名项目的应用程序名和命名空间 3 Ctrl+F 将旧的工 ...