手把手搭建集群系列(三)——Mongodb
来源:互联网 发布:座天使兽网络侦探 编辑:程序博客网 时间:2024/06/06 20:19
Mongodb集群配置
所需资源
Mongodb/mongodb-linux-x86_64-rhel70-3.4.4.tgz
下载地址 -> https://www.mongodb.com/download-center?jmp=nav#community
版本 -> RHEL 7 Linux 64-bit x64
0.配置之前
0.1 复制CentOS附件包内的Mongodb文件夹至/usr/local/server
0.2 Mongodb集群暂没有完美更换IP/主机名的解决方案,务必使用域名进行配置
0.3 分片副本集群信息
分片副本集1
mongo2.tianjie.group:30001
mongo3.tianjie.group:30001
mongo4.tianjie.group:30001
分片副本集2
mongo2.tianjie.group:30002
mongo3.tianjie.group:30002
mongo4.tianjie.group:30002
分片副本集3
mongo2.tianjie.group:30003
mongo3.tianjie.group:30003
mongo4.tianjie.group:30003
0.3 配置副本集信息
配置副本集1
mongo1.tianjie.group:20001
mongo1.tianjie.group:20002
mongo1.tianjie.group:200030.4 路由集群信息
路由节点1 -> mongo0.tianjie.group:10001
路由节点2 -> mongo0.tianjie.group:10002
路由节点3 -> mongo0.tianjie.group:10003
1.释放资源包
1.1 解压Mongodb资源包
cd /usr/local/server/Mongodbtar -zxvf mongodb-linux-x86_64-rhel70-3.4.4.tgz
1.2 重命名资源包名称
mv mongodb-linux-x86_64-rhel70-3.4.4 Mongodb
2.构建分片副本集群(每个副本集由奇数个节点构成)
执行服务器:mongo2/3/4
2.1 释放资源包(执行上述1中步骤)
2.2 创建资源目录
cd /usr/local/server/Mongodb/Mongodbmkdir shard{1,2,3}mkdir shard{1,2,3}/datamkdir shard{1,2,3}/log
2.3 打开分片服务
cd /usr/local/server/Mongodb/Mongodb/bin./mongod --shardsvr --replSet shard1ReplSet --port 30001 --dbpath /usr/local/server/Mongodb/Mongodb/shard1/data --logpath /usr/local/server/Mongodb/Mongodb/shard1/log/shard1.log --fork --nojournal./mongod --shardsvr --replSet shard2ReplSet --port 30002 --dbpath /usr/local/server/Mongodb/Mongodb/shard2/data --logpath /usr/local/server/Mongodb/Mongodb/shard2/log/shard2.log --fork --nojournal./mongod --shardsvr --replSet shard3ReplSet --port 30003 --dbpath /usr/local/server/Mongodb/Mongodb/shard3/data --logpath /usr/local/server/Mongodb/Mongodb/shard3/log/shard3.log --fork --nojournal
2.4 防火墙配置(打开30001,30002,30003端口)
2.5 在mongo2/3/4.tianjie.group上分别执行2.1-2.4步骤
2.6 配置副本集信息
下述命令在mongo2/3/4任意一台机器上执行
配置分片副本集1
./mongo --host mongo2.tianjie.group --port 30001rs.initiate({_id:"shard1ReplSet",members:[{_id:0,host:"mongo2.tianjie.group:30001"},{_id:1,host:"mongo3.tianjie.group:30001"},{_id:2,host:"mongo4.tianjie.group:30001"}]})
配置分片副本集2
./mongo --host mongo2.tianjie.group --port 30002rs.initiate({_id:"shard2ReplSet",members:[{_id:0,host:"mongo2.tianjie.group:30002"},{_id:1,host:"mongo3.tianjie.group:30002"},{_id:2,host:"mongo4.tianjie.group:30002"}]})
配置分片副本集3
./mongo --host mongo2.tianjie.group --port 30003rs.initiate({_id:"shard3ReplSet",members:[{_id:0,host:"mongo2.tianjie.group:30003"},{_id:1,host:"mongo3.tianjie.group:30003"},{_id:2,host:"mongo4.tianjie.group:30003"}]})
3.构建配置副本集(每个副本集由奇数个节点构成)
执行服务器:mongo1
3.1 释放资源包(执行上述1中步骤)
3.2 创建资源目录
cd /usr/local/server/Mongodb/Mongodbmkdir config{1,2,3}mkdir config{1,2,3}/datamkdir config{1,2,3}/log
3.3 打开配置服务
cd /usr/local/server/Mongodb/Mongodb/bin./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config1/data --logpath /usr/local/server/Mongodb/Mongodb/config1/log/config1.log --port 20001 --fork./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config2/data --logpath /usr/local/server/Mongodb/Mongodb/config2/log/config2.log --port 20002 --fork./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config3/data --logpath /usr/local/server/Mongodb/Mongodb/config3/log/config3.log --port 20003 --fork
3.4 防火墙配置(打开20001,20002,20003端口)
3.5 配置副本集信息
./mongo --host mongo1.tianjie.group --port 20001rs.initiate({_id:"cfgReplSet",configsvr:true,members:[{_id:0,host:"mongo1.tianjie.group:20001"},{_id:1,host:"mongo1.tianjie.group:20002"},{_id:2,host:"mongo1.tianjie.group:20003"}]})
4.构建路由服务集群
执行服务器:mongo0
4.1 释放资源包(执行上述1中步骤)
4.2 创建资源目录
cd /usr/local/server/Mongodb/Mongodbmkdir mongos{1,2,3}mkdir mongos{1,2,3}/log
4.3 打开路由服务(在路由服务组的每一个节点上执行)
cd /usr/local/server/Mongodb/Mongodb/bin./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10001 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10002 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10003 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork
4.4 防火墙配置(打开10001,10002,10003端口)
4.5 连接路由服务组中任意节点
./mongo --host mongo0.tianjie.group --port 10001
4.6 添加分片副本集
该命令须在连接路由服务组任意节点后,在mongod shell中执行sh.addShard("shard1ReplSet/mongo2.tianjie.group:30001,mongo3.tianjie.group:30001,mongo4.tianjie.group:30001")sh.addShard("shard2ReplSet/mongo2.tianjie.group:30002,mongo3.tianjie.group:30002,mongo4.tianjie.group:30002")sh.addShard("shard3ReplSet/mongo2.tianjie.group:30003,mongo3.tianjie.group:30003,mongo4.tianjie.group:30003")
5.创建分片集合
该命令须在连接路由服务组任意节点后,在mongod shell中执行
5.1 启用集合分片模式
sh.enableSharding("DZTest")
5.2 设置分片信息
sh.shardCollection("DZTest.dzusrs", { DZUsr_Id:"hashed"})
6.集群重启(无法更改IP/主机名)
6.1 启动配置副本集
cd /usr/local/server/Mongodb/Mongodb/bin./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config1/data --logpath /usr/local/server/Mongodb/Mongodb/config1/log/config1.log --port 20001 --fork./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config2/data --logpath /usr/local/server/Mongodb/Mongodb/config2/log/config2.log --port 20002 --fork./mongod --configsvr --replSet cfgReplSet --dbpath /usr/local/server/Mongodb/Mongodb/config3/data --logpath /usr/local/server/Mongodb/Mongodb/config3/log/config3.log --port 20003 --fork
6.2 启动分片副本集(群)
cd /usr/local/server/Mongodb/Mongodb/bin./mongod --shardsvr --replSet shard1ReplSet --port 30001 --dbpath /usr/local/server/Mongodb/Mongodb/shard1/data --logpath /usr/local/server/Mongodb/Mongodb/shard1/log/shard1.log --fork --nojournal./mongod --shardsvr --replSet shard2ReplSet --port 30002 --dbpath /usr/local/server/Mongodb/Mongodb/shard2/data --logpath /usr/local/server/Mongodb/Mongodb/shard2/log/shard2.log --fork --nojournal./mongod --shardsvr --replSet shard3ReplSet --port 30003 --dbpath /usr/local/server/Mongodb/Mongodb/shard3/data --logpath /usr/local/server/Mongodb/Mongodb/shard3/log/shard3.log --fork --nojournal
6.3 启动路由服务器(组)
cd /usr/local/server/Mongodb/Mongodb/bin./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10001 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10002 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork./mongos --configdb cfgReplSet/mongo1.tianjie.group:20001,mongo1.tianjie.group:20002,mongo1.tianjie.group:20003 --port 10003 --logpath /usr/local/server/Mongodb/Mongodb/mongos1/log/mongos1.log --fork
7.常用指令
7.1 查看集群状态
连接路由服务组任意节点后,在mongod shell中执行
db.printShardingStatus();
7.2 查看表状态
连接路由服务组任意节点后,在mongod shell中执行
db.DZUsr.stats()
7.3 允许分片从节点读数据(不推荐)
连接分片副本集的从节点后,在mongod shell中执行
rs.slaveOk();
7.4 查看分片副本集状态
连接分片副本集的任意节点后,在mongod shell中执行
rs.status()
7.5 查看mongo进程
ps -A|grep mongo
7.6 查看mongo端口
netstat -unltp|grep mongo
- 手把手搭建集群系列(三)——Mongodb
- 手把手搭建集群系列(一)——FastDFS
- 手把手搭建集群系列(二)——MysqlCluster
- mongodb架构mongodb分片集群与简易搭建方案—ttlsa教程系列之mongodb(六)
- Linux 系列(三)——Redis 分布式集群搭建
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 在Excel中使用WinSock控件远程通信
- 作为产品经理,你需要建立数据思维
- Activity、View及Window之间关系总结
- 创建微服务项目后,在谷歌、Safari等浏览器下无法访问的具体原因
- C/C++代码静态扫描和动态测试工具
- 手把手搭建集群系列(三)——Mongodb
- 使用BorderLayout布局管理器将组件进行布局
- JFinal使用技巧积累
- 伪类与伪元素
- 操作系统学习(2)
- 1130. Infix Expression (25)[dfs-中序遍历]
- Hibernate的集中查询方式 : hql查询,QBC查询和QBE查询
- map/reduce
- 软件漂亮功能背后的秘密