Mongodb2.4.3集群安装笔记
来源:互联网 发布:飞零手机数据恢复助手 编辑:程序博客网 时间:2024/05/03 19:54
机器:
192.168.40.80 -> mongodb01
192.168.40.81 -> mongodb02
192.168.40.82 -> mongodb03
192.168.40.83 -> mongodb04
192.168.40.84 -> mongodb05
sharding架构设置
mongodb01shard11 shard43shard52mongodb02shard12shard21 shard53mongodb03shard13shard22shard31 mongodb04 shard23shard32shard41 mongodb05 shard33shard42shard51
注明:
同色块为整个数据集的各个分部sharding(分散于各机器中)
同一分部sharding有三个replica副本
补充:这里说一下关于Replica Sets和Sharding,Sharding是将整个数据库分成若干个shard,每一个shard在replica sets中存在若干个副本。这样能够将数据库访问的压力通过shards分散到集群中的若干台机器,同时每个shard存在若干个分散的副本使得某个副本的丢失不会影响整个系统的运行。
1. 配置主机名:
# vi /etc/hosts# vi /etc/sysconfig/network# hostname newhostname
then relogin
2. 解压安装包
# tar zxvf mongodb-linux-x86_64-2.4.3.tgz
3. 创建shard数据目录
@mongodb01
# mkdir -p /mongodb_data/data/shard11# mkdir -p /mongodb_data/data/shard43# mkdir -p /mongodb_data/data/shard52
@mongodb02
# mkdir -p /mongodb_data/data/shard12# mkdir -p /mongodb_data/data/shard21# mkdir -p /mongodb_data/data/shard53
......
4. 配置replica sets
Shard1:
@mongodb01# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard11.log -dbpath /mongodb_data/data/shard11 -fork --logappend@mongodb02# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard12.log -dbpath /mongodb_data/data/shard12 -fork --logappend@mongodb03# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard13.log -dbpath /mongodb_data/data/shard13 -fork --logappend
Shard2:
@mongodb02# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard21.log -dbpath /mongodb_data/data/shard21 -fork --logappend@mongodb03# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard22.log -dbpath /mongodb_data/data/shard22 -fork --logappend@mongodb04# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard23.log -dbpath /mongodb_data/data/shard23 -fork --logappend
Shard3:
@mongodb03# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard31.log -dbpath /mongodb_data/data/shard31 -fork --logappend@mongodb04# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard32.log -dbpath /mongodb_data/data/shard32 -fork --logappend@mongodb05# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard33.log -dbpath /mongodb_data/data/shard33 -fork --logappend
Shard4:
@mongodb04# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard41.log -dbpath /mongodb_data/data/shard41 -fork --logappend@mongodb05# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard42.log -dbpath /mongodb_data/data/shard42 -fork --logappend@mongodb01# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard43.log -dbpath /mongodb_data/data/shard43 -fork --logappend
Shard5:
@mongodb05# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard51.log -dbpath /mongodb_data/data/shard51 -fork --logappend@mongodb01# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard52.log -dbpath /mongodb_data/data/shard52 -fork --logappend@mongodb02# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard53.log -dbpath /mongodb_data/data/shard53 -fork --logappend> config = {_id:'shard5',members:[ {_id: 0, host:'192.168.40.84:29023'}, {_id: 1, host:'192.168.40.80:29023'}, {_id: 2, host:'192.168.40.81:29023'}] }> rs.initiate(config)
可能的错误
rs.initiate(config);
{"ok" : 0,
"errmsg" : "couldn't initiate : need all members up to initiate, not ok : 192.168.40.82:29019"}
注意防火墙设置
5. 配置config server
@mongodb01~mongodb05# mkdir /mongodb_data/data/config# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -configsvr -port 29018 -logpath /mongodb_data/data/config.log -dbpath /mongodb_data/data/config -logappend -fork
6. 配置mongos
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongos -configdb 192.168.40.80:29018 -port 29025 -logpath /mongodb_data/data/mongos.log -logappend -fork
7. 配置shard cluster
使用其中一台服务器登录数据库
# mongo 192.168.40.80:29025> use admin> db.runCommand({addshard:"shard1/192.168.40.80:29019,192.168.40.81:29019,192.168.40.82:29019",name:"s1"})> db.runCommand({addshard:"shard2/192.168.40.81:29020,192.168.40.82:29020,192.168.40.83:29020",name:"s2"})> db.runCommand({addshard:"shard3/192.168.40.82:29021,192.168.40.83:29021,192.168.40.84:29021",name:"s3"})> db.runCommand({addshard:"shard4/192.168.40.83:29022,192.168.40.84:29022,192.168.40.80:29022",name:"s4"})> db.runCommand({addshard:"shard5/192.168.40.84:29023,192.168.40.80:29023,192.168.40.81:29023",name:"s5"})
db.printShardingStatus() - 打印sharding状态
mongodb web管理端,端口为连接端口号+1000
http://192.168.40.80:30025
注意在启动mongod时需要指定 --rest才能查看命令返回结果
参考资料:
http://www.taobaodba.com/html/525_525.html
http://blog.csdn.net/weiyuanke/article/details/7639905- Mongodb2.4.3集群安装笔记
- MongoDB2.4.3在Ubuntu13.04的安装
- MongoDB2.4.3在Ubuntu13.04的安装
- MongoDB2.0安装配置
- MongoDB2.0安装配置
- centos6.3安装mongodb2.2.4
- centos 6.5 安装mongodb2.6
- centos6.5安装MongoDB2.4.9
- Mongodb2.6升级到Mongodb3.0.2笔记
- Mongodb2.6升级到Mongodb3.0.2笔记
- MongoDB2.6window系统下安装服务
- mongoDB2.6.7及其php扩展安装
- MongoDB2.6 安装到CentOS5.5
- Win10中安装MongoDB2.6数据库
- storm集群 安装笔记
- Spark集群安装笔记
- ElasticSearch集群安装笔记
- Kafka集群安装笔记
- hdu 1722(数论)
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- TOMCAT优化
- 基于Spring的远程访问与Web Service
- Oracle中的索引详解
- Mongodb2.4.3集群安装笔记
- Oracle PL/SQL存储过程,函数,包,触发器的使用
- oracle结构
- Hibernate缓存机制
- struts2架构图
- 数据库类型
- 有关DLL远程注入的文章
- oracle sql语句优化
- ubuntu 新建用户 心得