MongoDB分布式集群实例
来源:互联网 发布:淘宝店铺活动策划方案 编辑:程序博客网 时间:2024/05/10 16:16
4.1集群模式
数据库sharding主要优点:
Ø 提供了接近线性扩张的架构,系统的可扩张性更高。
Ø 提高了数据库的可靠性。如果一个数据库分支当掉,对于整体的服务没有任何影响。
Ø 数据库的抗压性更高,性能更好。3000TPS的数据库和一个300TPS的数据库的压力是完成不一样。
服务器名称
IP
服务和端口
Server A
192.168.1.231
mongod shard1_1:27017
mongod shard1_1:27018
mongod config 1:20000
mongos 1:30000
Server B
192.168.1.232
mongod shard1_1:27017
mongod shard1_1:27018
mongod config 1:20000
mongos 1:30000
Server C
192.168.1.233
mongod shard1_1:27017
mongod shard1_1:27018
mongod config 1:20000
mongos 1:30000
1. Server A、Server B和Server C创建上ShardServer和Config Server的数据目录,脚本如下:
#Server A
mkdir –p /data/shard1_1
mkdir –p /data/shard2_1
mkdir –p /data/config
#Server B
mkdir –p /data/shard1_1
mkdir –p /data/shard2_1
mkdir –p /data/config
#Server C
mkdir –p /data/shard1_1
mkdir –p /data/shard2_1
mkdir –p /data/config
2. 配置Shard所有Replica Set。
配置shard1
Server A上操作,如下代码:
#Server A
/mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_1.log –logappend --fork
#Server B
/mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_2.log –logappend --fork
#Server C
/mongod –shardsvr–replSet shard1 –port 27017 –dbpath /data/shard1_1 –logpath/data/shard1_1/shard1_3.log –logappend --fork
链接其中一台机器的27017端口的mongod,初始化Relica Set 1 , 脚本如下:
./mongo –port 27017
>config = {_id:’shard1’,members:[{_id:0, host: ‘192.168.1.231:27017’},{_id:1,host: ‘192.168.1.232:27017’},{_id:2, host: ‘192.168.1.233:27017’}]}
>rs.initiate(config)
依次类推,配置Shard2,脚本如下:
#Server A
/mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_1 –logpath/data/shard1_1/shard2_1.log –logappend --fork
#Server B
/mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_2 –logpath/data/shard1_1/shard2_2.log –logappend --fork
#Server C
/mongod –shardsvr–replSet shard2 –port 27018 –dbpath /data/shard2_3 –logpath/data/shard1_1/shard2_3.log –logappend --fork
shard2配置服务
./mongo –port 27018
>config = {_id:’shard1’,members:[{_id:0, host: ‘192.168.1.231:27018’},{_id:1,host: ‘192.168.1.232:27018’},{_id:2, host: ‘192.168.1.233:27018’}]}
>rs.initiate(config)
3.配置3台Config Server
在Server A、Server B和Server C配置configServer,依次执行如下脚本:
./mongod –configsvr–dbpath /data/config –port 20000 –logpath/data/config/config.log –logappend –fork
4.配置3台Route Process
./mongos –configdb 192.168.1.231:20000, 192.168.1.232:20000,
192.168.1.233:20000 –port 30000 --chunkSize 125 –logpath /data/mongos.log –logappend--fork
5. 配置Shard Cluster
连接其中一台服务的端口30000的mongos进程,并切换到admin数据库开始配置Sharding环境,脚本如下:
./mongo –port 30000
>use admin
switched to db admin
>db.runCommand({addshard:”shard1/192.168.1.231:27017,192.168.1.232: 27017,
192.168.1.233: 27017”});
> db.runCommand({addshard:”shard1/192.168.1.231:27018,192.168.1.232: 27018,
192.168.1.233: 27018”});
6.激活分片,脚本如下:
db.runCommand({enablesharding:“test”});
db.runCommand({shardcollection:“test.users”, key:{_id:1}});
7.测试验证
脚本如下:
>use test
>for(var i=1;i< 200000; i++)db.users.insert(id:I, add_1:”北京”,addr_2:”上海”);
查看users表的状态,脚本如下:
>db.users.stats()
…..
这个是选自我的MongoDB培训文档,下载地址:MongoDB Tutorial
- MongoDB分布式集群实例
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- mongodb分布式集群架构
- MongoDB分布式集群搭建
- MongoDB集群搭建实例
- mongodb分布式集群架构 转载
- 常用核函数-Kernel Function
- 再也没有响起的电话——纪念逝去的实习应聘
- C++深入体验之旅七:指针
- C#中readonly关键字与const关键字的区别
- 为什么在Linux中断服务程序中不能睡眠
- MongoDB分布式集群实例
- 数据结构 算法 在线演示
- QQ网页客服链接
- 己未獨立宣言書
- JNI 字符转换 jni和C++通信中文乱码的问题
- 黑马程序员---语句与数组
- Windows XP中 禁止软件安装
- 今天落户了
- 深入解析HashMap、HashTable及应用哈希表对数据排序的实例