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

转载于:https://www.cnblogs.com/chensuqian/p/9644714.html

MongoDB集群安装与配置2.4.3版本相关推荐

  1. 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试

    Linux 环境 zookeeper集群安装.配置.测试https://blog.csdn.net/weixin_40816738/article/details/100576259 MQ集群部署规划 ...

  2. Hadoop集群安装及其配置(三台虚拟机)

    Hadoop集群安装及其配置(三台虚拟机) 利安装配置前准备--安装虚拟机 利用cat查看配置文件 修改主机名称 配置IP映射 配置网卡设备的mac地址 Xshell的安装与配置 ssh的配置 JDK ...

  3. MongoDB的集群安装搭建配置

    1. MongoDB介绍 1.1.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.具有以下特点: 面向集合文档型存储,易于存储对象类型的数据, 以 ...

  4. mongodb集群安装

    一. 下载 从mongodb官方网站下载,下载前需要测试一个账号,按照提示填写信息就好 Try MongoDB Atlas Products | MongoDB 下载包名称:mongodb-linux ...

  5. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  6. Hadoop集群安装与配置

    转载自Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否则请先查看Had ...

  7. hadoop2.8配置_Hadoop 2.8集群安装及配置记录

    第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...

  8. zookeeper集群安装和配置解读 - 雨中散步撒哈拉

    一.集群安装 0.环境准备 1.下载好的zk进行解压 2.创建数据和日志目录 3.修改配置 4.分发到集群节点 5.分别添加id 6.添加环境变量 二.集群常用命令 2.2.1 启动客户端 2.2.2 ...

  9. FastDFS分布式文件系统集群安装与配置

    原文链接:http://blog.csdn.net/xyang81/article/details/52928230 FastDFS集群规划 跟踪服务器负载均衡节点1:192.168.1.206 df ...

最新文章

  1. windows7访问03文件服务器慢
  2. Android Popwindow 使用
  3. MySQL同步复制搭建方法指南详细步骤
  4. 初识Docker-Docker架构
  5. xv6/调度算法及并发程序设计
  6. NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
  7. android pd px sp 转换
  8. selenium-webdriver——让chrome跑起来
  9. 研磨设计模式之简单工厂
  10. 微信小程序提供 模板:template
  11. 怎么自学java_菜鸟如何自学Java
  12. 服务器u盘一键安装系统,一键Ghost U盘版安装使用图文教程
  13. python将pascal VOC数据集转成coco数据集
  14. Joomla连接MediaWIKI失败
  15. Linux ELF 详解3 -- Symbol Table Symbol
  16. Mac Mini搭载苹果自研M1芯片 Mac Mini详细评测
  17. 210 Ruby 方法、类和模块【Rails后端开发训练营】
  18. 团队协作一、onlyoffice协同开发使用
  19. Word 插入图片后只剩一点?如何解决
  20. No module named 'urllib3'

热门文章

  1. PostgreSQL 查看数据库,索引,表,表空间大小
  2. ELK下es索引管理工具-curator
  3. vmware workstation不可恢复错误:(vthread-7)
  4. 关于程序修改时(修改被调用的SQL时),注意关联性(也可以说是影响范围)。
  5. 【Python-3.3】字典中存储字典
  6. 解决keil5不支持Samsung 2440A等较旧型号Soc的方法
  7. Python的matplotlib库画图不能显示中文问题解决
  8. 解决float型数据精度损失问题
  9. Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题
  10. 如何在Go中找到一个对象的类型?