MongoDB环境配置及集群一键部署
来源:互联网 发布:一起阅读软件下载 编辑:程序博客网 时间:2024/05/29 12:25
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存储表及索引)
- 命名空间分配大小递增
- 集群构成
- 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
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为例):
文件记录log
db文件夹
运行程序(15+3个进程)
分片情况:
0 0
- MongoDB环境配置及集群一键部署
- 一键部署MongoDB集群Windows版
- MongoDB值Replcia Set集群环境部署
- MongoDB集群配置(一)
- Mongodb分片集群规划及部署
- rabbitmq集群部署及配置
- MYSQL集群部署(一)--环境搭建
- Jstorm 集群搭建过程及一键安装部署脚本
- 配置MongoDB集群分片(一)
- MONGODB 集群 配置及 客户端PHP 连接
- MONGODB 集群 配置及 客户端PHP 连接
- mongodb数据库集群及sharding分片配置
- MongoDB windows基础配置及集群搭建
- Mongodb安装配置及热备集群
- 生产环境部署MongoDB集群——性能优化
- mongodb集群部署
- Mongodb 集群分片部署
- MongoDB Sharding集群部署
- linux基础操作
- HTTP请求过程
- Java网络编程——Socket的应用
- CSS中margin和padding的区别
- RelativeLayout布局参数汇总
- MongoDB环境配置及集群一键部署
- ELF文件和BIN文件
- 尚学堂lucene项目精讲视频共17讲
- 使用MySQLWorkBench查看导出数据库ER图
- python利用thrift服务读取hbase数据
- bzoj1047: [HAOI2007]理想的正方形
- 一个来将返回的 JSON 数据自动生成 Java 对象的工具
- js之hook
- CSS3--弹性效果