MongoDB集群安装与配置2.4.3版本
mongoDB安装
http://www.mongodb.org/downloads
拷文件到
# cp mongodb-linux-i686-2.4.1.tgz /usr/local/
进入目录:
# cd /usr/local/
解压:
# tar zxvf mongodb-linux-i686-2.4.1.tgz
改名:
# mv mongodb-linux-i686-2.4.1 mongodb
根目录
# cd
建文件夹:
# mkdir -p /data/mongodb/data_shard1 #创建数据存储目录
# mkdir -p /data/mongodb/data_shard2 #创建数据存储目录
# mkdir -p /data/mongodb/data_shard3 #创建数据存储目录
# mkdir -p /data/mongodb/log/ #创建日志存储目录
# mkdir -p /data/mongodb/config/ #创建配置存储目录
启动服务
/* /usr/local/mongodb/bin/mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log */
192.168.1.191
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18001 --replSet shard1 --dbpath /data/mongodb/data_shard1 --logpath /data/mongodb/log/mongod_shard1.log --logappend --maxConns 10000
# /usr/local/mongodb/bin/mongod --fork --configsvr --port 18005 --dbpath /data/mongodb/config/ --logpath /data/mongodb/log/config.log --rest
# /usr/local/mongodb/bin/mongos --configdb 192.168.1.191:18005,192.168.1.192:18005,192.168.1.193:18005 --fork --port 18000 --logpath /data/mongodb/log/mongos.log --chunkSize 256
连接此服务器
# /usr/local/mongodb/bin/mongo 192.168.1.191:18001
config = {_id: 'shard1', members: [ {_id: 0, host: '192.168.1.191:18001'}, {_id: 1, host: '192.168.1.194:18001'}, {_id: 2, host: '192.168.1.195:18001'}]}
rs.initiate(config)
rs.status()
192.168.1.192
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18002 --replSet shard2 --dbpath /data/mongodb/data_shard2 --logpath /data/mongodb/log/mongod.log --logappend --maxConns 10000
# /usr/local/mongodb/bin/mongod --fork --configsvr --port 18005 --dbpath /data/mongodb/config/ --logpath /data/mongodb/log/config.log --rest
# /usr/local/mongodb/bin/mongos --configdb 192.168.1.191:18005,192.168.1.192:18005,192.168.1.193:18005 --fork --port 18000 --logpath /data/mongodb/log/mongos.log --chunkSize 256
连接此服务器
# /usr/local/mongodb/bin/mongo 192.168.1.192:18002
config = {_id: 'shard2', members: [ {_id: 0, host: '192.168.1.192:18002'}, {_id: 1, host: '192.168.1.195:18002'}, {_id: 2, host: '192.168.1.196:18002'}]}
rs.initiate(config)
rs.status()
192.168.1.193
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18003 --replSet shard3 --dbpath /data/mongodb/data_shard3 --logpath /data/mongodb/log/mongod.log --logappend --maxConns 10000
# /usr/local/mongodb/bin/mongod --fork --configsvr --port 18005 --dbpath /data/mongodb/config/ --logpath /data/mongodb/log/config.log --rest
# /usr/local/mongodb/bin/mongos --configdb 192.168.1.191:18005,192.168.1.192:18005,192.168.1.193:18005 --fork --port 18000 --logpath /data/mongodb/log/mongos.log --chunkSize 256
连接一台此服务器
# /usr/local/mongodb/bin/mongo 192.168.1.193:18003
config = {_id: 'shard3', members: [{_id: 0, host: '192.168.1.193:18003'}, {_id: 1, host: '192.168.1.196:18003'} , {_id: 2, host: '192.168.1.194:18003'} ]}
rs.initiate(config)
rs.status()
192.168.1.194
分片1的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18001 --replSet shard1 --dbpath /data/mongodb/data_shard1 --logpath /data/mongodb/log/mongod_shard1.log --logappend --maxConns 10000
分片3的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18003 --replSet shard3 --dbpath /data/mongodb/data_shard3 --logpath /data/mongodb/log/mongod_shard3.log --logappend --maxConns 10000
192.168.1.195
分片2的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18002 --replSet shard2 --dbpath /data/mongodb/data_shard2 --logpath /data/mongodb/log/mongod_shard2.log --logappend --maxConns 10000
分片1的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18001 --replSet shard1 --dbpath /data/mongodb/data_shard1 --logpath /data/mongodb/log/mongod_shard1.log --logappend --maxConns 10000
192.168.1.196
分片3的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18003 --replSet shard3 --dbpath /data/mongodb/data_shard3 --logpath /data/mongodb/log/mongod_shard3.log --logappend --maxConns 10000
分片2的复制集
# /usr/local/mongodb/bin/mongod --fork --shardsvr --port 18002 --replSet shard2 --dbpath /data/mongodb/data_shard2 --logpath /data/mongodb/log/mongod_shard2.log --logappend --maxConns 10000
连接其中一台服务器的路由
# /usr/local/mongodb/bin/mongo 192.168.1.191:18000
mongos> use admin
mongos> db.adminCommand({addShard : "shard1/192.168.1.191:18001,192.168.1.194:18001,192.168.1.195:18001",maxsize:20480}) //增加分片,增加20G空间
mongos> db.adminCommand({addShard : "shard2/192.168.1.192:18002,192.168.1.195:18002,192.168.1.196:18002",maxsize:20480}) //增加分片,增加20G空间
mongos> db.adminCommand({addShard : "shard3/192.168.1.193:18003,192.168.1.196:18003,192.168.1.194:18003",maxsize:20480}) //增加分片,增加20G空间
mongos> db.adminCommand({listshards:1})
mongos> printShardingStatus()
添加测试库
mongos> db.runCommand({ enablesharding:"test" }) --设置分片存储的数据库
mongos> db.runCommand({ shardcollection: "test.users", key: { _id:1 }}) --设置分片的集合名称,且必须指定Shard Key,系统会自动创建索引
测试:
mongos> use test
mongos> for (var i = 1; i <= 500000; i++) db.users.insert({age:i, name:"chensuqian", addr:"Beijing", country:"China", job:"coder"})
mongos> db.users.stats()
mongos>
简单的参数说明:
–logpath 日志文件路径
–master 指定为主机器
–slave 指定为从机器
–source 指定主机器的IP地址
–pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
–logappend 日志文件末尾添加
–port 启用端口号
–fork 在后台运行
–only 指定只复制哪一个数据库
–slavedelay 指从复制检测的时间间隔
–auth 是否需要验证权限登录(用户名和密码)
–noauth 不需要验证权限登录(用户名和密码)
一共有4台机器,各自挂接一个存储,希望实现:
尽量节约存储高可用性存储大量数据
配置方案:
每一台机器做一个分片的主数据库每一台机器做一个分片的后备数据库每一台机器做一个分片的仲裁服务两个两个一组交叉作对方的后备有三台机器开配置服务有一台机器开路由服务(生产环境可以在每一台服务器上开路由服务,App服务器集群做负载均衡)
这样的话,任何一台服务器完全离线(或者交叉的两台服务器离线),都能保证整个系统正常运行。不过在服务器和服务器起来之后需要:
在升级成为主数据库的那个后备数据库上运行rs.StepDown(100)来让它让出主数据库的位置,因为每一个分片的活动数据库都应该由独立服务器担当,以获得最好的性能配置服务和后备数据库起来之后不需要做任何调整
http://www.linuxidc.com/Linux/2012-01/51011.htm
http://hi.baidu.com/noirwinter/item/248b27d7fe494852d63aaec5
http://blog.chinaunix.net/uid-26922865-id-3399138.html
http://www.cnblogs.com/cxd4321/archive/2012/05/18/2507777.html
MongoDB集群安装与配置2.4.3版本的更多相关文章
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)
ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...
- MySQL集群安装与配置
MySQL集群安装与配置 文章目录 [隐藏] 一.mysql集群安装 二.节点配置 三.首次启动节点 四.测试服务是否正常 五.安全关闭和重启 MySQL Cluster 是 MySQL 适合于分 ...
- mongodb集群安装及到现在遇到的一些问题
集群搭建 只有3台服务器,开始搭建mongodb集群里主要参照的是http://www.lanceyan.com/tech/arch/mongodb_shard1.html,端口的设置也是mongos ...
- kafka集群安装与配置
一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/ap ...
- Hadoop 2.8集群安装及配置记录
第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...
- zookeeper 集群安装与配置
Zookeeper安装和配置 准备工作 安装 JDK,此步略. 下载 zookeeper wget http://archive.apache.org/dist/zookeeper/zookeeper ...
- storm的集群安装与配置
storm集群安装 机器:(storm及zookeeper都是这3台机器) 192.168.80.20 192.168.80.21 192.168.80.22 须要准备的软件有: zookeeper( ...
- hadoop2.7.7 分布式集群安装与配置
环境准备 服务器四台: 系统信息 角色 hostname IP地址 Centos7.4 Mster hadoop-master-001 10.0.15.100 Centos7.4 Slave hado ...
随机推荐
- 【CS Round #39 (Div. 2 only) A】Removed Pages
[Link]: [Description] [Solution] 每读入一个x; 把a[(x-1)/2]置为1即可; 统计1的个数 [NumberOf WA] [Reviw] [Code] /* */ ...
- [置顶]
Docker学习总结(5)——超实用Docker入门学习教程
Docker是什么 Docker是一种容器技术,它可以将应用和环境等进行打包,形成一个独立的,类似于iOS的APP形式的"应用",这个应用可以直接被分发到任意一个支持Docker的 ...
- 玲珑杯 Round 19 A simple math problem
Time Limit:2s Memory Limit:128MByte Submissions:1599Solved:270 DESCRIPTION You have a sequence anan, ...
- 解决eclipse端口被占用的问题
问题如图所示,在eclipse中开启tomcat服务器时报错:端口已被占用. 这是因为在tomcat开启的状态下,eclipse异常关闭,导致tomcat一直占用端口. 解决办法如下: 1: 输入命令 ...
- 二叉树的递归插入【Java实现】
C++中由于有指针的存在,可以让二叉树节点指针的指针作为插入函数的实参,在函数体内通过*操作实现对真实节点指针.节点左孩子指针.节点右孩子指针的改变,这样很容易使用递归将大树问题转化到小树问题.但在J ...
- Ubuntu14.04中踩过的坑
今天安装Ubuntu 14.0.4,因为需要使用python3,所以就直接配置如下:sudo rm /usr/bin/pythonsudo ln -s /usr/bin/python3.5 /usr ...
- html 代码
1.结构性定义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文 ...
- vue使用(二)
本节目标: 1.数据路径的三种方式 2.{{}}和v-html的区别 1.绑定图片的路径 方法一:直接写路径 <img src="http://p ...
- jQuery的实现原理和核心
1.jQuery的实现原理 1)jQuery采用的是构造函数模式进行开发的,jQuery是一个类 2)上面说的常用的方法(CSS.属性.筛选.事件.动画.文档处理)都是定义在jQuery.protot ...
- 使用javascript实现图片上下切换效果并且实现顺序循环播放
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...