当前位置: 首页 > news >正文

网站开发设计报告书怎么写微盟商城小程序

网站开发设计报告书怎么写,微盟商城小程序,免费游戏网站建设游戏后台,网络营销方式使用情况数据一、背景 常见的mongodb集群模式有以下三种: 主从复制(Master-Slave)模式副本集(Replica Set)模式分片(Sharding)模式 公司测试环境搭建的集群采用分片模式,有同事反馈说&#xf…

一、背景

常见的mongodb集群模式有以下三种:

  • 主从复制(Master-Slave)模式
  • 副本集(Replica Set)模式
  • 分片(Sharding)模式

公司测试环境搭建的集群采用分片模式,有同事反馈说,程序写入数据库报错。
详细错误见下:

Caused by: com.mongodb.MongoWriteConcernException: waiting for replication timed out; Error details: { wtimeout: true } at sdrs03

提示写入数据失败,因为是分片模式,所以它的数据是需要写入到两个分片服务机器上。

也就是说,这个错误很可能是因为一个分片写入成功,另一个写入失败所导致。

连接某个节点,连接Mongodb,执行命令sh.status()查看集群状态。

最后发现是某个机器的磁盘空间已满所引起的,当时为了快速回复,就手动删除了大日志文件。

今天有空就梳理一下问题,为了便于理解,画了一个部署架构图。

二、部署架构图

在这里插入图片描述
分片模式下,三个节点是等价关系,这里只举例其中一个来说。

在这里插入图片描述

[root@mongo_test01 data]# ps -ef | grep mongo
root      6223 14104  0 11:07 pts/0    00:00:00 grep --color=auto mongo
mongo    11016     1  1 Mar27 ?        00:43:37 /usr/local/mongodb-linux-x86_64-rhel70-4.0.27/bin/mongos -f /data/mongodb50000/cnf/mongo50000.cnf
mongo    11497     1  1 Mar27 ?        00:51:45 /usr/local/mongodb-linux-x86_64-rhel70-4.0.27/bin/mongod -f /data/mongodb11000/cnf/mongo11000.cnf
mongo    16436     1  3 Mar27 ?        01:32:02 /usr/local/mongodb-linux-x86_64-rhel70-4.0.27/bin/mongod -f /data/mongodb12000/cnf/mongo12000.cnf
mongo    19133     1  1 10:35 ?        00:00:35 /usr/local/mongodb-linux-x86_64-rhel70-4.0.27/bin/mongod -f /data/mongodb40000/cnf/mongo40000.cnf
mongo    19952     1  2 09:45 ?        00:02:15 /usr/local/mongodb-linux-x86_64-rhel70-4.0.27/bin/mongod -f /data/mongodb10000/cnf/mongo10000.cnf

这里启动了五个进程,每个进程端口对应见上图。

  • 分片服务器,对应端口10000/11000/12000
  • 配置服务器,对应端口40000
  • Mongos路由服务,对应端口50000,外部访问入口

三、详细配置

日志的保存路径和进程ID,见/data/mongodb{端口}/cnf/mongo{端口}.cnf

1、分片服务

因为三个分片配置类同,只是端口号不一样,所以仅以10000端口示例:
在这里插入图片描述

#SERVER
dbpath = /data/mongodb10000/data
logpath = /data/mongodb10000/log/mongo10000.log
pidfilepath = /data/mongodb10000/run/mongo10000.pid
fork = true
port = 10000
quiet = true
logappend = true
journal = true
directoryperdb = true
maxConns = 65536
bind_ip_all = true
transportLayer=asio
serviceExecutor=adaptive#SLOW_LOG
profile = 1
slowms = 500
slowOpSampleRate = 1replSet = sdrs01
oplogSize = 10240
shardsvr = true#USER
keyFile=/data/mongodb10000/cnf/keyFile
setParameter=enableLocalhostAuthBypass=1
setParameter=failIndexKeyTooLong=1storageEngine=wiredTiger
wiredTigerCacheSizeGB=8
wiredTigerCollectionBlockCompressor=snappy
wiredTigerDirectoryForIndexes=true

2、配置服务

复制集的名称是csvrs01,端口为40000,在后面的mongos会用到。
在这里插入图片描述

# cat /data/mongodb40000/cnf/mongo40000.cnf#SERVER
dbpath = /data/mongodb40000/data
logpath = /data/mongodb40000/log/mongo40000.log
pidfilepath = /data/mongodb40000/run/mongo40000.pid
fork = true
port = 40000
quiet = true
logappend = true
maxConns = 65536
directoryperdb = true#SLOW_LOG
profile = 1
slowms = 500
bind_ip_all = trueconfigsvr = true
replSet = csvrs01
storageEngine=wiredTiger
wiredTigerCacheSizeGB=1
oplogSize = 8192#USER
keyFile=/data/mongodb40000/cnf/keyFile
setParameter=enableLocalhostAuthBypass=1

3、Mongos

在这里插入图片描述

这里填写了配置服务列表。另外需要注意一点,它的pid进程号是保存在/data/mongodb50000/run/mongos.pid,而非/data/mongodb50000/run/mongodb50000.pid。

pidfilepath = /data/mongodb50000/run/mongos.pid
logpath = /data/mongodb50000/log/mongos.log
fork = true
port = 50000
quiet = true
logappend = true
maxConns = 20000
bind_ip_all = true
configdb = csvrs01/192.168.10.28:40000,192.168.10.71:40000,192.168.10.72:40000#USER
keyFile=/data/mongodb50000/cnf/keyFile
setParameter=enableLocalhostAuthBypass=1
setParameter=taskExecutorPoolSize=4
setParameter=ShardingTaskExecutorPoolMaxSize=5000

4、初始化副本集

在任意一台机器上使用 mongo 命令行工具连接到任意配置服务器,并初始化副本集sdrs01。

mongo --host 192.168.10.28:40000
use admin
cfg = {_id: "sdrs01",members: [{ _id: 0, host: "192.168.10.71:10000" },{ _id: 1, host: "192.168.10.72:10000" }]
}
rs.initiate(cfg)

以此类推,初始化副本集sdrs02和sdrs03。

mongo --host 192.168.10.28:40000
use admin
cfg = {_id: "sdrs02",members: [{ _id: 0, host: "192.168.10.28:11000" },{ _id: 1, host: "192.168.10.71:11000" }]
}
rs.initiate(cfg)
mongo --host 192.168.10.28:40000
use admin
cfg = {_id: "sdrs03",members: [{ _id: 0, host: "192.168.10.28:12000" },{ _id: 1, host: "192.168.10.72:12000" }]
}
rs.initiate(cfg)

5、添加分片到路由服务器mongos

使用 mongo 命令行工具连接到路由服务器,并添加分片。

mongo --host 192.168.10.28:50000
use admin
sh.addShard("sdrs01/192.168.10.71:10000")
sh.addShard("sdrs01/192.168.10.72:10000")sh.addShard("sdrs02/192.168.10.28:11000")
sh.addShard("sdrs02/192.168.10.71:11000")sh.addShard("sdrs03/192.168.10.28:12000")
sh.addShard("sdrs03/192.168.10.72:12000")

注意,这里每个分片,只选择其中的两个节点作为副本。

6、登录Mongos,查看集群状态

mongo 192.168.10.28:50000 -uroot -p{密码} --authenticationDatabase admin> sh.status()

在这里插入图片描述

shards:{  "_id" : "sdrs01",  "host" : "sdrs01/192.168.10.71:10000,192.168.10.72:10000",  "state" : 1,  "tags" : [ "test.sh1", "sdrs01" ] }{  "_id" : "sdrs02",  "host" : "sdrs02/192.168.10.28:11000,192.168.10.71:11000",  "state" : 1,  "tags" : [ "test.sh2", "sdrs02" ] }{  "_id" : "sdrs03",  "host" : "sdrs03/192.168.10.28:12000,192.168.10.72:12000",  "state" : 1,  "tags" : [ "test.sh3", "sdrs03" ] }

四、未完待续

由于整篇文章比较冗长,我先介绍Mongodb sharding分片集群的搭建及配置详情,顺便梳理了其部署架构, 下文我将介绍其日志治理问题。

http://www.15wanjia.com/news/177338.html

相关文章:

  • 网站建设丨选择金手指排名15wordpress 1g内存
  • 建设部监理工程师考试网站凡客诚品的衣服什么档次
  • 平台网站开发风险asp.net 实现 网站的开关
  • 如何把网站程序做授权网址访问成都市成华区建设局网站
  • 如何建立一个个人网站营销型网站建设推广
  • 软件下载网站搭建深圳最新新闻事件
  • 手机微网站怎么制作免费做文字图网站
  • 厦门网站建设首选厦门一联网络百度免费做网站吗
  • dedecms手机网站不用代码做网站html
  • 井陉建设局网站公示衡水网站建设衡水
  • 百度搜索网站怎么做爱名网做网站教程
  • 镇江seo网站怎么看待网站开发
  • 网站制作技术支持wordpress 国际化 mo
  • 网站开发与网站建设泉州台商区建设局网站
  • 音乐网站系统怎么做金融投资理财网站建设
  • 济南章丘网站建设浙江建设厅网站那三类人员
  • 咸阳市网站建设成都网站建设好的公司
  • 哪个网站可以做兼职笔译如何 建设一个网站
  • 2016年做网站好不好设计网站首页1
  • 网站模版怎么做全网vip影视自助建站系统
  • 旅游网站建设规划书个人网站建设的意义
  • 电力建设监理招聘网站wordpress授权插件
  • 学校网站建设招聘眼镜网站怎么做
  • 门户网站建设运营网站背景怎么换
  • 浙江网站建设正规公司石家庄网站快速排名
  • 常熟有没有做网站的一个网站域名的组成
  • 无网站无产品链接如何做SOHO小程序开发费用明细怎么做
  • 怎么知道网站有没有备案如何学好js网站开发
  • 天天爱天天做网站佳木斯网站制作
  • 个人网站可以做自媒体吗自己公司的网站怎么编辑