首页 > 其他分享 >mongo3.2.7部署文档

mongo3.2.7部署文档

时间:2024-10-26 10:11:00浏览次数:1  
标签:10.111 部署 mongodb data ## 文档 分片 true mongo3.2

 

环境搭建与最优配置

  • 3台机器10.111.62.21,10.111.62.22,10.111.62.23
  • 3个分片。每个分片一主一副一仲裁
  • mongo 版本 mongodb-linux-x86_64-rhel70-3.2.7.tgz(注意版本,根据不同的linux版本选择不同的安装包)
  • 保证安装目录下的磁盘空间足够大
  • 服务器有8G以上的剩余内存(对于生产环境而言)
  • 需要保证三台服务器时间一致,否则可能对分片产生影响

1>每个机器上创建如下目录(选择目录是注意磁盘空间大小)

mkdir -p /opt/app/media/mongodb/data/mongodb/mongos/log

mkdir -p /opt/app/media/mongodb/data/mongodb/config/{data,log}

mkdir -p /opt/app/media/mongodb/data/mongodb/shard{1,2,3}/{data,log}

2>编辑如下配置文件

config.conf

systemLog:

destination: file

###日志存储位置

path: /opt/app/media/mongodb/data/mongodb/config/log/config.log

logAppend:true

storage:

##journal配置

journal:

enabled:true

##数据文件存储位置

dbPath: /opt/app/media/mongodb/data/mongodb/config/data/

##是否一个库一个文件夹

directoryPerDB:true

##数据引擎

engine: wiredTiger

##WT引擎配置

wiredTiger:

engineConfig:

##WT最大使用cache(根据服务器实际情况调节)

cacheSizeGB:4

##是否将索引也按数据库名单独存储

directoryForIndexes:true

##表压缩配置

collectionConfig:

blockCompressor: zlib

##索引配置

indexConfig:

prefixCompression:true

##端口配置

net:

port:21000

##分片配置

sharding:

##分片角色

clusterRole: configsvr

mongos.conf

##日志配置

systemLog:

destination: file

##日志位置

path:/opt/app/media/mongodb/data/mongodb/mongos/log/mongos.log

logAppend: true

##网路配置

net:

##端口配置

port:20000

##分片配置

sharding:

##指定config server

configDB:10.10.73.225:21000,10.10.73.186:21000,10.10.73.226:21000

shard1.conf

systemLog:

destination: file

###日志存储位置

path: /opt/app/media/mongodb/data/mongodb/shard1/log/shard1.log

logAppend:true

storage:

##journal配置

journal:

enabled:true

##数据文件存储位置

dbPath: /opt/app/media/mongodb/data/mongodb/shard1/data/

##是否一个库一个文件夹

directoryPerDB:true

##数据引擎

engine: wiredTiger

##WT引擎配置

wiredTiger:

engineConfig:

##WT最大使用cache(根据服务器实际情况调节)

cacheSizeGB:4

##是否将索引也按数据库名单独存储

directoryForIndexes:true

##表压缩配置

collectionConfig:

blockCompressor: zlib

##索引配置

indexConfig:

prefixCompression:true

##端口配置

net:

port:22001

replication:

##oplog大小

oplogSizeMB:20480

##复制集名称

replSetName: shard1

##分片配置

sharding:

##分片角色

clusterRole: shardsvr

shard2.conf

systemLog:

destination: file

###日志存储位置

path: /opt/app/media/mongodb/data/mongodb/shard2/log/shard2.log

logAppend:true

storage:

##journal配置

journal:

enabled:true

##数据文件存储位置

dbPath: /opt/app/media/mongodb/data/mongodb/shard2/data/

##是否一个库一个文件夹

directoryPerDB:true

##数据引擎

engine: wiredTiger

##WT引擎配置

wiredTiger:

engineConfig:

##WT最大使用cache(根据服务器实际情况调节)

cacheSizeGB:4

##是否将索引也按数据库名单独存储

directoryForIndexes:true

##表压缩配置

collectionConfig:

blockCompressor: zlib

##索引配置

indexConfig:

prefixCompression:true

##端口配置

net:

port:22002

replication:

##oplog大小

oplogSizeMB:20480

##复制集名称

replSetName: shard2

##分片配置

sharding:

##分片角色

clusterRole: shardsvr

shard3.conf

systemLog:

destination: file

###日志存储位置

path: /opt/app/media/mongodb/data/mongodb/shard3/log/shard3.log

logAppend:true

storage:

##journal配置

journal:

enabled:true

##数据文件存储位置

dbPath: /opt/app/media/mongodb/data/mongodb/shard3/data/

##是否一个库一个文件夹

directoryPerDB:true

##数据引擎

engine: wiredTiger

##WT引擎配置

wiredTiger:

engineConfig:

##WT最大使用cache(根据服务器实际情况调节)

cacheSizeGB:4

##是否将索引也按数据库名单独存储

directoryForIndexes:true

##表压缩配置

collectionConfig:

blockCompressor: zlib

##索引配置

indexConfig:

prefixCompression:true

##端口配置

net:

port:22003

replication:

##oplog大小

oplogSizeMB:20480

##复制集名称

replSetName: shard3

##分片配置

sharding:

##分片角色

clusterRole: shardsvr

3>安装
在每台机器执行
a.启动configserver 和 mongos

./mongod -f ../conf/config.conf -fork

./mongos -f ../conf/mongos.conf -fork

b.启动分片

./mongod -f ../conf/shard1.conf -fork

./mongod -f ../conf/shard2.conf -fork

./mongod -f ../conf/shard3.conf -fork

任意一台机器执行(除了仲裁节点)
a.初始化分片配置--应当设置优先级

./mongo --port 22001

use admin

config = {_id:"shard1",members:[{_id:0,host:"10.111.62.21:22001","priority":9},{_id:1,host:"10.111.62.22:22001","priority":8},{_id:2,host:"10.111.62.23:22001",arbiterOnly:true}]}

rs.initiate(config);

#查看分片

use dns_testdb;

rs.isMaster();

./mongo --port 22002

use admin

config2 = {_id:"shard2",members:[{_id:0,host:"10.111.62.21:22002","priority":9},{_id:1,host:"10.111.62.23:22002","priority":8},{_id:2,host:"10.111.62.22:22002",arbiterOnly:true}]}

rs.initiate(config2);

#查看分片

use dns_testdb;

rs.isMaster();

./mongo --port 22003

use admin

config3 = {_id:"shard3",members:[{_id:0,host:"10.111.62.22:22003","priority":9},{_id:1,host:"10.111.62.23:22003","priority":8},{_id:2,host:"10.111.62.21:22003",arbiterOnly:true}]}

rs.initiate(config3); #如果报错可以换一个非仲裁节点执行

#查看分片

use dns_testdb;

rs.isMaster();

b.串联路由服务器与分配副本集

./mongo --port 20000

use admin

sh.addShard("shard1/10.111.62.21:22001,10.111.62.22:22001,10.111.62.23:22001")

sh.addShard("shard2/10.111.62.21:22002,10.111.62.22:22002,10.111.62.23:22002")

sh.addShard("shard3/10.111.62.21:22003,10.111.62.22:22003,10.111.62.23:22003")

c.查看分片服务器的配置

db.runCommand({listshards:1});

刷新分片

db.adminCommand("flushRouterConfig")

安装完成
4>插入测试

./mongo --port 20000

use admin

创建数据库,指定数据库'testdb'进行分片生效

db.runCommand( { enablesharding :"testdb"});

指定数据库需要分片键片

db.runCommand({shardcollection:"testdb.table1",key:{_id:'hashed'}})

###创建Hash片键,指定'testdb'数据库中的'table1'表中的数据进行分片

##插入

for(var i=1;i<10000000;i++) db.table1.save({"a":i+"wwe","acId":"45334"+i,"areaCode":"3346"+i,"deliverd":true,"destId":"13346"+i,"doneTime":"6334"+i,"dup":0,"gwId":"2","gwMsgId":"6334"+i,"mobile":"166673","msgType":"UmsReportReq"+i,"operator":"ChinaMobile","priority":0,"reqId":"1","revTime":"245"+i,"smscSeq":0,"srcReqId":"06235"+i,"status":"DELIVRD","subTime":"26230"+i,"submitTime":"1062348"+i,"traceNo":"92363"+i});

##查看状态

db.table1.stats();

扩容方案

知识拓展

标签:10.111,部署,mongodb,data,##,文档,分片,true,mongo3.2
From: https://www.cnblogs.com/xiaobaijin/p/18503687

相关文章

  • 基于SpringBoot+Vue的鲜牛奶订购管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的鲜牛奶订购管理系统,项目源码请点击文章末尾联系我哦~目前有各类成......
  • 文档透明加密系统怎么用?五款透明加密软件汇总!2024热门推荐,实测分享!
    数据泄露事件频发,让无数企业谈之色变。想要自动对存储在计算机上的文档进行加密吗?怎么在不影响日常工作的前提,确保文档在存储和传输过程中的安全?透明加密系统来助力!本文,将详细介绍文档透明加密系统的使用方法,并汇总五款2024年热门的透明加密软件。文档透明加密系统是什么......
  • ELK日志管理系统搭建文档
    ELK日志管理系统搭建文档ELK是ElasticsearchLogstashkibana三个开源软件的组合来进行搭建.jianyi1jianyijianyi1建议架构:节点服务器部署程序备注节点1node-110.10.183.211Elasticsearch、kibana、head主节点节点2node-210.10.183.1......
  • JAVA开源项目 基于Vue和SpringBoot在线文档管理系统
    本文项目编号T038,文末自助获取源码\color{red}{T038,文末自助获取源码}......
  • Zookeeper实战 集群环境部署
    1、概述今天我们来学习一下Zookeeper集群相关的内容,本文主要的内容有集群环境的搭建,集群常见的问题和对应的解决方案。2、集群环境搭建2.1、准备工作首先我们准备好安装包,创建好集群部署的路径。将解压后的安装文件复制三分。这里我在/usr/local目录下创建了一个zkCluster......
  • DISM 支持使用无人值守文件(通常为 .xml 格式)来执行各种操作,特别是在部署和维护 Window
    DISM支持使用无人值守文件(通常为.xml格式)来执行各种操作,特别是在部署和维护Windows映像时。以下是一些可以与无人值守文件一起使用的DISM参数:1. /Apply-Unattend这个参数用于应用无人值守文件到Windows映像。可以在以下命令中使用:bashCopyCodeDism/Image:"C:\Path......
  • 基于SpringBoot+Vue的药店管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的药店管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品毕......
  • 基于SpringBoot+Vue的校园二手书交易平台管理系统设计与实现毕设(文档+源码)
           目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的校园二手书交易平台管理系统,项目源码请点击文章末尾联系我哦~目前有......
  • k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
    目录前言部署NFSserver镜像准备节点打标签启动NFSserver创建pv验证创建pvc创建pod挂载验证部署NFSSubdirExternalProvisioner创建pod验证提前创建pvc的方式使用volumeClaimTemplates的方式前言NFSSubdirExternalProvisioner可以使用现有的NFS服务器......
  • Redis 安装部署与基础学习
    Redis安装部署与学习一、简介Redis(RemoteDictionaryServer)是一个开源的内存数据库,遵守BSD协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。也就是说redis数据库与我们之前学的MySQL,ClickHouse都不一样,是一个非关系型数据库。总......