Mongodb集群搭建
发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,共2台服务器,每台上面各一个路由,一个配置,一个分片,mongodb版本3.4服务器1:10.2.4.214服务器2:10.2.4.2151.首先编写2台服务器的配置文件,并将配置文件中的路径文件夹建
千家信息网最后更新 2024年09月27日Mongodb集群搭建
共2台服务器,每台上面各一个路由,一个配置,一个分片,mongodb版本3.4
服务器1:10.2.4.214
服务器2:10.2.4.215
1.首先编写2台服务器的配置文件,并将配置文件中的路径文件夹建立好
214的路由配置文件mongodb_rout.conf:
net: port: 5000 ipv6: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/route.log" logAppend: trueprocessManagement: fork: truesharding: configDB: rsConf/10.2.4.214:5100,10.2.4.215:5100...
214的配置配置文件mongodb_cfg.conf:
net: port: 5100 ipv6: truestorage: dbPath: "/data/mongodb/formal_5000/data/config" directoryPerDB: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/config.log" logAppend: truestorage: journal: enabled: trueprocessManagement: fork: truesharding: clusterRole: configsvrreplication: replSetName: rsConf...
214的分片配置文件mongodb_s0.conf:
storage: dbPath: "/data/mongodb/formal_5000/data/s0" directoryPerDB: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/s0.log" logAppend: truenet: port: 5010 ipv6: trueprocessManagement: fork: truestorage: journal: enabled: truereplication: replSetName: rsShardAsharding: clusterRole: shardsvr...
215的路由配置文件mongodb_rout.conf:
net: port: 5000 ipv6: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/route.log" logAppend: trueprocessManagement: fork: truesharding: configDB: rsConf/10.2.4.214:5100,10.2.4.215:5100...
215的配置配置文件mongodb_cfg.conf:
net: port: 5100 ipv6: truestorage: dbPath: "/data/mongodb/formal_5000/data/config" directoryPerDB: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/config.log" logAppend: truestorage: journal: enabled: trueprocessManagement: fork: truesharding: clusterRole: configsvrreplication: replSetName: rsConf...
215的分片配置文件mongodb_s0.conf:
storage: dbPath: "/data/mongodb/formal_5000/data/s0" directoryPerDB: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/s0.log" logAppend: truenet: port: 5010 ipv6: trueprocessManagement: fork: truestorage: journal: enabled: truereplication: replSetName: rsShardBsharding: clusterRole: shardsvr...
在2台服务器上执行下面命令建立文件夹,否则mongodb无法启动
mkdir -p /data/mongodb/formal_5000/log/mkdir -p /data/mongodb/formal_5000/data/config/mkdir -p /data/mongodb/formal_5000/data/s0
2.启动2台配置服务,并配置成副本集
#在2台服务器上都启动配置服务numactl --interleave=all mongod -f /etc/mongodb/formal_5000/mongodb_cfg.conf#进入其中一台服务进行配置mongo --port 5100config={_id:"rsConf",members:[ {_id:0,host:"10.2.4.214:5100"}, {_id:1,host:"10.2.4.215:5100"}]}rs.initiate(config)#查看副本集配置是否成功rs.status()
3.启动2台分片和路由服务,并配置
#在2台服务器上都启动分片服务numactl --interleave=all mongod -f /etc/mongodb/formal_5000/mongodb_s0.conf#在2台服务器上都启动路由服务numactl --interleave=all mongos -f /etc/mongodb/formal_5000/mongodb_rout.conf#进入214分片并配置分片成副本集的primarymongo --port 5010config={_id:"rsShardA",members:[ {_id:0,host:"10.2.4.214:5010"}]}rs.initiate(config)#进入215分片并配置分片成副本集的primarymongo --port 5010config={_id:"rsShardB",members:[ {_id:0,host:"10.2.4.215:5010"}]}rs.initiate(config)#进入路由并配置分片mongo --port 5000use admindb.runCommand({addshard:"rsShardA/10.2.4.214:5010",name:"shard_0",maxSize:0})db.runCommand({addshard:"rsShardB/10.2.4.215:5010",name:"shard_1",maxSize:0})#查看分片配置情况sh.status()
4.设置monitor_center可分片
use monitor_centeruse admindb.runCommand({enablesharding:"monitor_center"})
5.使用Studio-3T连接路由、配置和分片并建立用户(这里教程省略)
6.关闭数据库
#先关路由,进入2台服务器的路由mongo --port 5000use admindb.shutdownServer()#再关分片,进入2台服务器的分片mongo --port 5010use admindb.shutdownServer({force:true})#最后关配置,进入2台服务器的配置mongo --port 5100use admindb.shutdownServer()
7.将keyfile加入到2台服务器的路由、配置、分片的配置文件中的最后一行里,如下所示:
214的路由配置文件mongodb_rout.conf:
net: port: 5000 ipv6: truesystemLog: destination: file path: "/data/mongodb/formal_5000/log/route.log" logAppend: trueprocessManagement: fork: truesharding: configDB: rsConf/10.2.4.214:5100,10.2.4.215:5100security: keyFile: "/data/mongodb/formal_5000/key/mongodb_key"...
其他配置文件类似,都需要添加keyfile
#生成keyFilemkdir -p /data/mongodb/formal_5000/key/cd /data/mongodb/formal_5000/keyecho -e "formal mongodb keyFile" > mongodb_keychmod 600 /data/mongodb/formal_5000/key/mongodb_key
8.最后依次启动配置、分片、路由
numactl --interleave=all mongod -f /etc/mongodb/formal_5000/mongodb_cfg.confnumactl --interleave=all mongod -f /etc/mongodb/formal_5000/mongodb_s0.confnumactl --interleave=all mongos -f /etc/mongodb/formal_5000/mongodb_rout.conf
PS:
1.平衡器
sh.setBalancerState(true) #启动平衡器sh.setBalancerState(false) #关闭平衡器sh.getBalancerState() #查看平衡器的状态sh.isBalancerRunning() #查看平衡器当前是否在运行#设置平衡器启动时间范围,首先确保平衡器是启动状态db.settings.update({ _id: "balancer" },{ $set: { activeWindow : { start : "21:00", stop : "08:00" } } },{ upsert: true })#取消平衡器启动时间范围db.settings.update({ _id : "balancer" }, { $unset : { activeWindow : true } })
2.建表
use monitor_centerdb.createCollection("origdata_20171024") #建表db.origdata_20171024.createIndex({ mac: 1, time: 1},{ background: true}) #建索引use admindb.runCommand({shardcollection:"monitor_center.origdata_20171024",key:{mac:1,time:1}}) #集合是否允许分片db.runCommand({moveChunk:"monitor_center.origdata_20171024",bounds:[{mac:MinKey,time:MinKey},{mac:MaxKey,time:MaxKey}],to:"shard_1"}) #将集合手动移到分片1
3.表的迁移
sh.enableBalancing("monitor_center.origdata_20171024") #开启该集合的数据平衡sh.disableBalancing("monitor_center.origdata_20171024") #关闭该集合的数据平衡db.getSiblingDB("config").collections.findOne({_id : "monitor_center.origdata_20171024"}).noBalance #检查该集合是否启动了数据平衡
配置
服务
文件
服务器
路由
平衡器
副本
数据
文件夹
时间
状态
范围
成功
一行
命令
情况
手动
教程
数据库
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
问道怎么改数据库
access数据库管理系统真题
数据库管理工具bd
金风科技 能源互联网
软件开发公司最少有多少部门
多节点服务器渲染
数据库设计 经典
软件开发所需要的经费
长沙软件开发驻场价钱
用友软件数据库用清理吗
邮件服务器被攻击数据会丢失吗
粘液科技服务器手机
组织开展网络安全应急演练
网络安全在我身边的宣传
智简魔方对接服务器
湖北综合软件开发价格表格
数据库系统安全性的论文前言
电脑网络安全证书错误
网络安全培训师待遇
数据库表索引个数
中小企业网络安全怎么办
中标麒麟服务器文件管理器
网络安全工作的重要性和严峻性
网络安全下步工作措施
网络安全测试工作
实行网络化管理和建立资料数据库
网络安全哪家价格实惠
微信软件开发大帝
网络技术培训哪个平台靠谱
VB利用数据库做的登录界面