搭建MongoDB分片集群
在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考。
计划如下:
用5台机器搭建,IP分别为:192.168.58.5、192.168.58.6、192.168.58.8、192.168.58.9、192.168.58.10。分为两个分片,每个分片下有一个primary,一个secondary,一个仲裁。在其中三台启动config server和mongos。
shard1:58.5、58.6、58.10(仲裁)
shard2:58.8、58.9、58.10(仲裁)
config server:58.5、58.8、58.10
mongos:58.5、58.8、58.10
实施如下:
1、所有机器创建mongodb文件夹
mkdir -p /opt/mongodb
cd /opt/mongodb
2、所有机器下载mongodb的安装程序包
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
tar xvzf mongodb-linux-x86_64-2.4.8.tgz
3、分别在相应机器建立mongos 、config 、 shard1 、shard2目录
#58.5、58.8、58.10建立mongos目录mkdir -p /opt/mongodb/mongos/log#58.5、58.8、58.10建立config server 数据文件存放目录mkdir -p /opt/mongodb/config/data#58.5、58.8、58.10建立config server 日志文件存放目录mkdir -p /opt/mongodb/config/log#58.5、58.6、58.10建立shard1 数据文件存放目录mkdir -p /opt/mongodb/shard1/data#58.5、58.6、58.10建立shard1 日志文件存放目录mkdir -p /opt/mongodb/shard1/log#58.8、58.9、58.10建立shard2 数据文件存放目录mkdir -p /opt/mongodb/shard2/data#58.8、58.9、58.10建立shard2 日志文件存放目录mkdir -p /opt/mongodb/shard2/log/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --configsvr --dbpath /opt/mongodb/config/data --port 21000 --logpath /opt/mongodb/config/log/config.log --fork/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongos --configdb 192.168.58.5:21000,192.168.58.8:21000,192.168.58.10:21000 --port 27017 --logpath /opt/mongodb/mongos/log/mongos.log --fork#58.5、58.6、58.10分别设置分片1服务器及副本集shard1/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard1 --port 22001 --dbpath /opt/mongodb/shard1/data --logpath /opt/mongodb/shard1/log/shard1.log --fork#58.8、58.9、58.10分别设置分片2服务器及副本集shard2/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard2 --port 22002 --dbpath /opt/mongodb/shard2/data --logpath /opt/mongodb/shard2/log/shard2.log --fork1)登陆192.168.58.5
#设置第一个分片副本集/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo 127.0.0.1:22001#使用admin数据库use admin#定义副本集配置config = { _id:"shard1", members:[ {_id:0,host:"192.168.58.5:22001"}, {_id:1,host:"192.168.58.6:22001"}, {_id:2,host:"192.168.58.10:22001",arbiterOnly:true} ] }#初始化副本集配置rs.initiate(config);#设置第二个分片副本集/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo 127.0.0.1:22002#使用admin数据库use admin#定义副本集配置config = { _id:"shard2", members:[ {_id:0,host:"192.168.58.8:22002"}, {_id:1,host:"192.168.58.9:22002"}, {_id:2,host:"192.168.58.10:22002",arbiterOnly:true} ] }#初始化副本集配置rs.initiate(config);#连接到mongos/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo 127.0.0.1:27017#使用admin数据库use admin#串联路由服务器与分配副本集1db.runCommand( { addshard : "shard1/192.168.58.5:22001,192.168.58.6:22001,192.168.58.10:22001"});#串联路由服务器与分配副本集2db.runCommand( { addshard : "shard2/192.168.58.8:22002,192.168.58.9:22002,192.168.58.10:22002"});#查看分片服务器的配置db.runCommand( { listshards : 1 } );搭建MongoDB分片集群的更多相关文章
- Windows 搭建MongoDB分片集群(二)
在本篇博客中我们主要讲描述分片集群的搭建过程.配置分片集群主要有两个步骤,第一启动所有需要的mongod和mongos进程.第二步就是启动一个mongos与集群通信.下面我们一步步来描述集群的搭建过程 ...
- Windows 搭建MongoDB分片集群(一)
一.角色说明 要构建一个MongoDB分片集群,需要三个角色: shard server 即存储实际数据得分片,每个shard 可以是一个Mongod实例,也可以是一组mongod实例构成得Repl ...
- MongoDB 分片集群实战
背景 在如今的互联网环境下,海量数据已随处可见并且还在不断增长,对于如何存储处理海量数据,比较常见的方法有两种: 垂直扩展:通过增加单台服务器的配置,例如使用更强悍的 CPU.更大的内存.更大容量的磁 ...
- MongoDB分片集群原理、搭建及测试详解
随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...
- 网易云MongoDB分片集群(Sharding)服务已上线
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. MongoDB sharding cluster(分片集群)是MongoDB提供的数据在线水平扩展方案,包括 ...
- 分布式文档存储数据库之MongoDB分片集群
前文我们聊到了mongodb的副本集以及配置副本集,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13953598.html:今天我们来聊下mongodb的分片 ...
- mongodb分片集群
第一章 1.mongodb 分片集群解释和目的 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 第二章 1. ...
- TiDB和MongoDB分片集群架构比较
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近阅读了TiDB源码的说明文档,跟MongoDB的分片集群做了下简单对比. 首先展示TiDB的整体架构 M ...
- CentOS7+Docker+MangoDB下部署简单的MongoDB分片集群
简单的在Docker上快速部署MongoDB分片集群 前言 文中使用的环境如下 OS:CentOS Linux release 7.5.1804 (Core) Docker:Docker versio ...
随机推荐
- BZOJ 1432
Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. #include<iostream> using ...
- 精确解释Unicode
来自:http://blog.csdn.net/gqqnb/article/details/6266542 ---------------------------------------------- ...
- 网站js埋点
js埋点 1.埋点作用: 页面埋点的作用:其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文 ...
- Selenium2+python自动化74-jquery定位【转载】
转至博客:上海-悠悠 前言 元素定位可以说是学自动化的小伙伴遇到的一道门槛,学会了定位也就打通了任督二脉,前面分享过selenium的18般武艺,再加上五种js的定位大法. 这些还不够的话,今天再分享 ...
- k8s的deployment应用
Kubernetes 通过各种 Controller 来管理 Pod 的生命周期.为了满足不同业务场景,Kubernetes 开发了 Deployment.ReplicaSet.DaemonSet.S ...
- 第一篇:Hello World
Hello World RabbitMQ是一个消息代理:它接受和转发消息.你可以把它想象成一个邮局:当你把邮件放在邮箱里时,你可以确定邮差先生最终会把邮件发送给你的收件人.在这个比喻中,RabbitM ...
- 前端工程师必备PS技能
PS参考线及其辅助 视图-->新建参考线 也可以快捷键Ctrl+R,显示区的上侧和左侧就会出现标尺.任意点选中,并拖动标尺,便会出现浅蓝色的辅助线.只有在移动工具下,才能拖动某一条参考线. 删除 ...
- laravel将数据库对象转为数组的方法
亲测有效 array_map('get_object_vars', $data);
- APP中常见上下循环滚动通知的简单实现,点击可进入详情
APP中常见上下循环滚动通知的简单实现,点击可进入详情 关注finddreams博客,一起分享一起进步!http://blog.csdn.net/finddreams/article/details/ ...
- flutte 命令行指令卡死