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 ...
随机推荐
- Android Gson解析json工具类封装
package com.springSecurity.gson; import java.util.ArrayList; import java.util.List; import java.util ...
- Snapshot Standby
INTRODUCTION Snapshot standby database是ORACLE 11g的新特性.允许Physical standby短时间的使用read write模式. Snapshot ...
- logname---显示用户名称
logname命令用来显示用户名称.
- 最简单的基于FFmpeg的移动端例子:Android 视频转码器
http://blog.csdn.net/leixiaohua1020/article/details/47056365
- AJAX - 封装的传参改为传入对象 XML JSON 数据格式
Ajax封装函数,上次是直接传参,这次在原来的基础上改进,模仿jQuery 直接传入对象,把之前的参数都变为这个对象的属性. 这样可以随意调换传入数据的次序. 其他优点? 需要再复习一下. Ajax处 ...
- python ATM机 案例代码
利用目前学的流程控制写的 ''' ATM机 需求: 1.登陆 输入账号输入密码 每日只有3次登陆密码错误的机会,超过3次禁止登陆 2.查询余额 3.存款 4.取款 5.转帐 6.退出 ''' info ...
- chocolatey 的安装与安装过程中的注意事项
安装的windows需求 Windows 7+ / Windows Server 2003+ PowerShell v2+ .NET Framework 4+ 注意:chocolatey的网站可能 ...
- 将二级目录下的文件合并成一个文件的Python小脚本
这个小程序的目的是将二级目录下的文件全部合并成一个文件(其实几级目录都可以,只要做少许改动) #coding:utf8 import sys, os def process(path): new_fi ...
- 【Codeforces Round #452 (Div. 2) D】Shovel Sale
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 让N乘2->a 然后看一下位数是多少. 假设有x位(x>=2) 则(0..(a%10-1) ) + (99..9)[x- ...
- 洛谷 P1000 超级玛丽游戏
P1000 超级玛丽游戏 题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级 ...