MongoDB环境配置及集群一键部署

1、MongoDB在Linux下的安装配置
  • 应用shutdown kill -2/-4
  • use admin; db.shutdownServer();
  • kill -9 可能会导致数据丢失、文件损坏、之后需要进行修复;
2、MongoDB体系结构解读
  • 跨平台数据库
    • Linux、Unix、Max、Windows
    • 整体架构相同
  • MongoDB Server
    • 实例、数据库及对应关系
  • 数据逻辑结构(面向用户的)
    • 文档、集合、数据库
  • 数据存储
    • 元数据、实际数据
    • 数据库数据组成:db.ns、db.0、db.1.....
    • 数据存储预分配空间(2倍增加,最小64MB、最大文件2G)
    • 命名空间(集合、索引、*.ns、*.0、*.1存储表及索引)
    • 命名空间分配大小递增
3、MongoDB生态系统
  • 集群构成
    • mongod
    • mongos
    • config server
    • arbiter server
  • 主从复制模式(Master、Slave or Slaves),支持任意节点从节点,备份;人工故障转移、故障恢复困难;oplog仅存在主节点上
  • 副本集模式(Arbiter、Primary、Secondary);自动话管理(故障转移、活跃节点选举、读扩展、智能化);
  • 分片模式(数据拆分、分散存储到多台机器上、手工分片(自动分片));意义:单机性能瓶颈,内存
  • 部署方式(Master-Slave:不推荐、实验部署;Replica Set:推荐方式、数据量不大;ReplicatSet+Sharding方式:推荐部署方式、数据量大、需要分片);
  • MongoDB集群部署实践
    • 数据量大
    • 可靠性较高;
    • 并发读写;
    • Replica Set+Sharding
    • 动态增加ShardingServer
    • 读写分离
    • 故障转移
    • 库级sharding(move primary)
    • 表级是手动sharding
    • auto-sharding(凌晨)
_____________________________________________________________________________________
1、创建配置文件及相关目录
环境简介:因为手头没有虚拟机,所以在windows下单机完成部署要求,并编写bat运行脚本
脚本如下:
rem m1
start mongod.exe --config=../config/m1/s1_1
start mongod.exe --config=../config/m1/s1_2
start mongod.exe --config=../config/m1/c1_1
start mongod.exe --config=../config/m1/a1_1
start mongod.exe --config=../config/m1/a1_2

rem m2
start mongod.exe --config=../config/m2/s2_1
start mongod.exe --config=../config/m2/s2_2
start mongod.exe --config=../config/m2/c2_1
start mongod.exe --config=../config/m2/a2_1
start mongod.exe --config=../config/m2/a2_2

rem m3
start mongod.exe --config=../config/m3/s3_1
start mongod.exe --config=../config/m3/s3_2
start mongod.exe --config=../config/m3/c3_1
start mongod.exe --config=../config/m3/a3_1
start mongod.exe --config=../config/m3/a3_2


start mongos.exe --config=../config/m1/s1
start mongos.exe --config=../config/m2/s2
start mongos.exe --config=../config/m3/s3
2、进行分片相应设置
use admin
config = {_id: 'shard1', members:[ {_id:0, host: 'localhost:8442'}, {_id:1, host:'localhost :8542 '}, {_id:2, host:'localhost :8642 ',slaveDelay:7200,priority:0} , {_id:3, host:'localhost :8451 ',arbiterOnly:true} , {_id:4, host:'localhost :8551 ',arbiterOnly:true} , {_id:5, host:'localhost :8651 ',arbiterOnly:true} ] };
rs.initiate(config);
config = {_id: 'shard2', members:[ {_id:0, host: 'localhost:8443'}, {_id:1, host:'localhost :8543 '}, {_id:2, host:'localhost :8643 ',slaveDelay:7200,priority:0} , {_id:3, host:'localhost :8452 ',arbiterOnly:true} , {_id:4, host:'localhost :8552 ',arbiterOnly:true} , {_id:5, host:'localhost :8652 ',arbiterOnly:true} ] };
rs.initiate(config);

use admin
db.runCommand( { addshard:"shard1/ localhost:8442 , localhost :8542 " ,name:"s1"} );
db.runCommand( { addshard:"shard2/ localhost:8443 , localhost :8543 " ,name:"s2"} );
db.runCommand( { listshards : 1 } )
3、目录结构及运行情况
配置文件目录(m1为例):
MongoDB环境配置及集群一键部署_第1张图片
文件记录log
MongoDB环境配置及集群一键部署_第2张图片
db文件夹
MongoDB环境配置及集群一键部署_第3张图片
运行程序(15+3个进程)
MongoDB环境配置及集群一键部署_第4张图片
MongoDB环境配置及集群一键部署_第5张图片
分片情况:
MongoDB环境配置及集群一键部署_第6张图片

你可能感兴趣的:(MongoDB,windows,mongodb,sharding,server,集群)