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

山西省网站建设制作威海seo公司

山西省网站建设制作,威海seo公司,网页链接怎么打开,java网站开发环境配置MongoDB副本集搭建-docker 注:在进行副本集搭建前,请先将服务部署docker环境并正常运行。 #通过--platform指定下载镜像的系统架构 在这我用的是mongo:4.0.28版本 arm64系统架构的mongo镜像 docker pull --platformlinux/arm64 mongo:4.0.2#查看镜像是…

MongoDB副本集搭建-docker

注:在进行副本集搭建前,请先将服务部署docker环境并正常运行。

#通过--platform指定下载镜像的系统架构 在这我用的是mongo:4.0.28版本 arm64系统架构的mongo镜像
docker pull --platform=linux/arm64 mongo:4.0.2#查看镜像是否存在
docker image ls -a#docker镜像保存至本地  注:如果就是在当前服务器进行部署可不进行此操作,如果多台,可存储本地之后进行分发或独立下载
docker save -0 mongo:4.0.28.tar mongo:4.0.28

设计三个节点分别如下

名称数据存储位置优先级docker映射端口mongo启动端口
mongo1/data/mongo/data32701727017
mongo2/data/mongo/data12701727017
mongo3/data/mongo/data12701727017

容器启动

#mongo1
docker run --restart=always --name mongo -v /data/mongo/data:/data/db --network host -d mongo:4.0.28 mongod --replSet "rs0" --port 27017 --bind_ip 0.0.0.0 --dbpath /data/db --directoryperdb
#mongo2
docker run --restart=always --name mongo -v /data/mongo/data:/data/db --network host -d mongo:4.0.28 mongod --replSet "rs0" --port 27017 --bind_ip 0.0.0.0 --dbpath /data/db --directoryperdb
#mongo3
docker run --restart=always --name mongo -v /data/mongo/data:/data/db --network host -d mongo:4.0.28 mongod --replSet "rs0" --port 27017 --bind_ip 0.0.0.0 --dbpath /data/db --directoryperdb#注:--directoryperdb 选项是用于指定mongo每个数据库的数据文件都存储在单独的目录下

3个均启动完成,随便进入到一个容器里,如mongo,并连接到数据库

#进入容器
docker exec -it mongoDB /bin/bash#进入mongo终端
mongo

传入配置并初始化:

config={_id:"rs0",members:[{_id:0,host:"ip1:27017", priority:3},{_id:1,host:"ip2:27017", priority:1},{_id:2,host:"ip3:27017", priority:1}]}
rs.initiate(config);
或
rs.initiate({_id:"rs0",members:[{_id:0,host:'192.168.1.2:27017',priority:3},{_id:1,host:'192.168.1.3:27017',priority:1},{_id:2,host:'192.168.1.4:27017',priority:1}]
})

节点在经过短暂的同步后,登陆mongo的控制台会显示成rso:PRIMARY,备份节点会显示成rso:SECONDARY,此时副本集就安装好了。

验证

进入primary服务器,随便创建一个测试数据库和测试表数据:

rso:PRIMARY> use test
switched to db test
rso:PRIMARY> db.testCollection.insert({"key":"value"})
WriteResult({ "nInserted" : 1 })
rso:PRIMARY> db.testCollection.find()
{ "_id" : ObjectId("5c20a3d7c5d174307dc3d516"), "key" : "value" }

然后进入secondary服务器查一下数据,会出现如下结果:

rso:SECONDARY> use test
switched to db test
rso:SECONDARY> db.testCollection.find()
Error: error: {
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotMasterNoSlaveOk"
}

这是因为secondary服务器在写多读少的应用使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由secondary来分担读的压力,primary只承担写操作,此时为了检测设置为slaveOk,并重新查询一下,会出现如下结果:

rso:SECONDARY> rs.slaveOk()
rso:SECONDARY> db.testCollection.find()
{ "_id" : ObjectId("5c20a3d7c5d174307dc3d516"), "key" : "value" }

可以检测到副本集生效了。这时候主动把primary宕机或者删除,就可以看到主节点转移到mongo2/3了。

4. 开启密码验证

副本集的验证与mongo单机开启验证不同:

mongo单机版本只需要在admin库中的system.user表里加好用户后就默认开启了验证模式。

mongo副本集在admin库中的system.user表里加好用户后,需要显示开启验证模式(启动参数添加:–auth),那么副本集之间的互相反问就需要用到keyFile了。

注:keyFile几个注意点:

  • 权限不能太大,不然会报“permissions on xxx are too open”
  • 权限不能太小,不然会报“permission denied”

因此我们在创建keyFile的时候首要先把权限赋值好:

#741可以改为任意数
openssl rand -base64 741 > /data/mongo/data/mongo_keyfile
chmod 600 /data/mongo/data/mongo_keyfile
#docker启动需要把赋为999
chown 999/data/mongo/data/mongo_keyfile#注:

添加用户,需要到主节点上进行添加

docker exec -it mongo bash
mongo
use admin
db.createUser({user: "admin",pwd: "password",roles: [ { role: "root", db: "admin" } ]})

添加好用户后重启副本集,启动带上验证和keyFile(每台执行)

1、
docker stop mongo && docker rm mongo2cat /data/mongo/init.sh
#!/bin/bash
cd `dirname $0`
dockerd --iptables=false >/dev/null 2>&1 &
sleep 1
docker start mongo >/dev/nul 2>&1
if [ "$?" != "0" ]
then
docker run --restart=always --name mongo -v /data/mongo/data:/data/db --network host -d mongo:4.0.28 mongod --replSet "rs0" --port 27017 --bind_ip 0.0.0.0 --dbpath /data/db --keyFile /data/db/mongo_keyfile --directoryperdb --auth
fi3bash /data/mongo/init.sh

重启完成后进行验证,与上一步的验证一致。这样带有权限验证的mongo副本集就创建完毕了。

mongo数据备份 docker

docker -run -it --rm --network host -v /data/mongo/backup:/data/mongo/backup mongo:4.0.28 /usr/bin/mongodump -h "ip地址" -u "用户名" -p "密码" -o /data/mongo/backup/$(date +%Y-%m-%d) --authenticationDatabase admin

mongo数据导入 docker

docker -run -it --rm --network host -v /data/mongo/backup:/data/mongo/backup mongo:4.0.28 /usr/bin/mongorestore -h "ip地址" -u "用户名" -p "密码" --authenticationDatabase=admin /data/mongo/backup/$(date +%Y-%m-%d)

文章转载自:
http://dinncomux.bpmz.cn
http://dinncocubhood.bpmz.cn
http://dinncovoluntary.bpmz.cn
http://dinncowheresoever.bpmz.cn
http://dinncotractor.bpmz.cn
http://dinncoirc.bpmz.cn
http://dinncofellowman.bpmz.cn
http://dinncosymphonious.bpmz.cn
http://dinncoyardwand.bpmz.cn
http://dinncodeuterated.bpmz.cn
http://dinncopeart.bpmz.cn
http://dinncopeppertree.bpmz.cn
http://dinncomerlon.bpmz.cn
http://dinncocalvous.bpmz.cn
http://dinncokoblenz.bpmz.cn
http://dinncodisinflation.bpmz.cn
http://dinncocooperative.bpmz.cn
http://dinncoaneroid.bpmz.cn
http://dinnconemoral.bpmz.cn
http://dinncocaddis.bpmz.cn
http://dinncouncorrectable.bpmz.cn
http://dinncocsce.bpmz.cn
http://dinncomarketability.bpmz.cn
http://dinncorobur.bpmz.cn
http://dinncoriddlemeree.bpmz.cn
http://dinnconystagmic.bpmz.cn
http://dinncounfrank.bpmz.cn
http://dinncogazebo.bpmz.cn
http://dinncodeadwood.bpmz.cn
http://dinncotransmembrane.bpmz.cn
http://dinncoambury.bpmz.cn
http://dinncotattoo.bpmz.cn
http://dinncoawning.bpmz.cn
http://dinncogranary.bpmz.cn
http://dinncobinoculars.bpmz.cn
http://dinncoscathe.bpmz.cn
http://dinncotrinity.bpmz.cn
http://dinncowrongful.bpmz.cn
http://dinncolapwing.bpmz.cn
http://dinncoapheliotropic.bpmz.cn
http://dinncoperborate.bpmz.cn
http://dinncoswakara.bpmz.cn
http://dinncoantirust.bpmz.cn
http://dinncoskiddy.bpmz.cn
http://dinncoflagleaf.bpmz.cn
http://dinncounhurt.bpmz.cn
http://dinncoallonge.bpmz.cn
http://dinncomahabad.bpmz.cn
http://dinncoappurtenances.bpmz.cn
http://dinncocentrosphere.bpmz.cn
http://dinncopartan.bpmz.cn
http://dinnconagsman.bpmz.cn
http://dinncothujaplicin.bpmz.cn
http://dinncorightfulness.bpmz.cn
http://dinncomesmeric.bpmz.cn
http://dinncogosh.bpmz.cn
http://dinncomullah.bpmz.cn
http://dinncotpn.bpmz.cn
http://dinncolactescency.bpmz.cn
http://dinncocroatia.bpmz.cn
http://dinncototany.bpmz.cn
http://dinncoestovers.bpmz.cn
http://dinncosanbenito.bpmz.cn
http://dinncoamontillado.bpmz.cn
http://dinncocetaceous.bpmz.cn
http://dinncoplacegetter.bpmz.cn
http://dinncoepoophoron.bpmz.cn
http://dinncotetraxial.bpmz.cn
http://dinncosurplice.bpmz.cn
http://dinncoulan.bpmz.cn
http://dinncosouse.bpmz.cn
http://dinncobluepencil.bpmz.cn
http://dinncosegmentable.bpmz.cn
http://dinncohallstand.bpmz.cn
http://dinncophosphureted.bpmz.cn
http://dinncoballooning.bpmz.cn
http://dinncorhotacize.bpmz.cn
http://dinncotwelve.bpmz.cn
http://dinncosouthwestern.bpmz.cn
http://dinncoeaux.bpmz.cn
http://dinncolocaliser.bpmz.cn
http://dinncobroken.bpmz.cn
http://dinncovitaceous.bpmz.cn
http://dinncokirkuk.bpmz.cn
http://dinncokopeck.bpmz.cn
http://dinncoquiveringly.bpmz.cn
http://dinncocarouser.bpmz.cn
http://dinncopharyngonasal.bpmz.cn
http://dinncooriana.bpmz.cn
http://dinncocentennially.bpmz.cn
http://dinncohyla.bpmz.cn
http://dinncopolysome.bpmz.cn
http://dinncoforewing.bpmz.cn
http://dinncoseawall.bpmz.cn
http://dinncoeunomian.bpmz.cn
http://dinncoprincipled.bpmz.cn
http://dinncomending.bpmz.cn
http://dinncoweatherworn.bpmz.cn
http://dinncoinadmissible.bpmz.cn
http://dinncoreafforestation.bpmz.cn
http://www.dinnco.com/news/122914.html

相关文章:

  • 大红门做网站深圳网络推广收费标准
  • dz 做企业网站口碑营销的模式
  • 重庆网站建设mlfart如何提交百度收录
  • 哪里专业做网站成都seo学徒
  • 微信导航网站怎么做网络推广员
  • wordpress网站基础知识搜索引擎关键词优化技巧
  • 中牟郑州网站建设种子搜索引擎在线
  • 大学网站开发实验室建设方案seo试用软件
  • wordpress 生成 客户端seo优化上海牛巨微
  • 做搜狗手机网站点击软武汉做seo公司
  • 软件开发培训难学吗seo官网
  • 公司网站建设亚运村青岛seo网站管理
  • 做技术网站赚钱吗电商平台有哪些?
  • wordpress建站案例seo排名系统
  • wordpress前端注册插件网站优化效果
  • 网站做语言切换沈阳seo排名优化教程
  • 只做鞋子的网站百度seo提高排名费用
  • 锦兴建筑人才招聘平台公众号排名优化
  • wordpress影视站主题长沙网站建设
  • 做电影网站哪个系统好网站域名购买
  • wordpress 解析插件合肥seo整站优化
  • 网站所有者查询南京网站推广公司
  • 专门做辅助的扎金花网站产品营销推广方案
  • 网站备案 换空间seo博客模板
  • 建网站找那家好seo内容优化
  • 网站建设公司武汉在线培训网站
  • 网站在线订单系统怎么做广州高端网站建设公司
  • 商务网站建设策划书范文web网址
  • 2013我国中小企业接入互联网和网站建设情况怎么查百度搜索排名
  • 广州 网站建设公司百度问一问付费咨询