摘要:学习笔记安装没什么好说的主从复制参照这个地址创建证书并给各个服务器主要命令开启副本集验证初始化副本集添加备节点添加仲裁者节点启动时需要增加的参数指定链接的关键密匙统一集合名称从服务器可查参照这个地址分片分片就是将数据
Docker 学习笔记. Mongodb 安装
没什么好说的 = =!
Mongodb 主从复制参照这个地址 : http://dockone.io/article/181
创建证书并 copy 给各个服务器.
root@node *:/# mkdir -p /home/core root@node *:/# cd /home/core root@node *:/# openssl rand -base64 741 > mongodb-keyfile root@node *:/# chmod 600 mongodb-keyfile root@node *:/# sudo chown 999 mongodb-keyfile
主要命令: rs.initiate() 开启副本集, rs.conf() 验证初始化副本集, rs.add("node2.example.com") 添加备节点, rs.add("node3.example.com",{arbiterOnly: true}) 添加仲裁者节点.
--smallfiles --keyFile /opt/keyfile/mongodb-keyfile --replSet "rs0"
mongodb启动时需要增加的参数, keyFile 指定链接的关键密匙, replSet 统一集合名称.
Mongodb 从服务器可查参照这个地址 : http://docs.mongodb.org/manual/reference/method/rs.slaveOk/
Mongodb 分片分片就是将,数据分成几个碎片来进行管理,提升性能.
主从(集群)可以作为一个片进入.
需要 config 服务, mongos 分配服务, 和片(mongod).
如果所有服务都不在同一主机, 那么需要配置 keyFile 与 主从一样.
config:
docker --icc=true run -it --privileged=true -v /my/db/core/:/opt/keyfile -v /my/db/config/:/data/configdb -v /etc/localtime:/etc/localtime:ro -d --name config -p 20000:27017 centos-mongodb mongod --configsvr --port 27017 --keyFile /opt/keyfile/mongodb-keyfile --smallfiles
--icc=true 是为了让 container 之间互通, -v /etc/localtime:/etc/localtime:ro 是为了同步时区,这样mongodb 添加 config 的时候就不会出现时区不同步无法连接的情况了.
mongos:
docker --icc=true run -it --privileged=true -v /my/db/core/:/opt/keyfile -v /etc/localtime:/etc/localtime:ro -p 27017:27017 -d --name mongos --add-host config.example.com:10.174.35.78 centos-mongodb mongos --configdb config.example.com:27017 --keyFile /opt/keyfile/mongodb-keyfile
mongos 需要配置好 config 后再配置, 配置好后 , 登陆可能会没有权限, 所以先创建 root 用户.
use admin db.createUser({user:"root",pwd:"passwd",roles:[{role:"root",db:"admin"}]}) db.auth("root","passwd")
其他工具登陆也使用这个用户名和密码.
shard1:
docker --icc=true run -it --privileged=true -v /my/db/core/:/opt/keyfile -v /my/db/shard1/:/data/db -v /etc/localtime:/etc/localtime:ro -d -p 10001:27017 --name shard1 centos-mongodb mongod --shardsvr --port 27017 --keyFile /opt/keyfile/mongodb-keyfile --smallfiles
shard2:
docker --icc=true run -it --privileged=true -v /home/core/:/opt/keyfile -v /home/core/shard/shard2/:/data/db -v /etc/localtime:/etc/localtime:ro -d -p 10002:27017 --name shard2 centos-mongodb mongod --shardsvr --port 27017 --keyFile /opt/keyfile/mongodb-keyfile --smallfiles
回到 mongos
sh.addShard("shard1.example.com:10001") sh.addShard("shard2.example.com:10002")
同上选一种
db.runCommand({addShard:"shard1.example.com:10001"}) db.runCommand({addShard:"shard2.example.com:10002"})
查看分片结果
db.printShardingStatus()
删除片
db.runCommand({removeshard:"shard1.example.com:10001"})
为数据和表指定分片模式, 好像建议不选择 _id 为分片 key.
db.runCommand({enablesharding:"myTest"}) db.runCommand({shardcollection:"myTest.test",key:{_id:1}})
至此分片完成, 可以进行实际操作.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26426.html
摘要:运行容器意外的官方参考地址,多次尝试命令最终无法运行,带项时后是状态,修改配置没反应日志无报错退出。目前容器整体情况是主从,个相同一个。后续运行的容器数视情况而定。接下来计划针对,一些实际应用场景进行实践验证。 目标需求: 密码登录+容器数据共享,主从复制 1.配置启动 添加配置文件夹,组织容器命令。 a.官方未提供相关信息 从测试容器中匹配搜索得到 mongod.conf.orig,...
摘要:学习笔记安装没什么好说的主从复制参照这个地址创建证书并给各个服务器主要命令开启副本集验证初始化副本集添加备节点添加仲裁者节点启动时需要增加的参数指定链接的关键密匙统一集合名称从服务器可查参照这个地址分片分片就是将数据 Docker 学习笔记. Mongodb 安装 没什么好说的 = =! Mongodb 主从复制 参照这个地址 : http://dockone.io/artic...
摘要:已经发布到,只要在环境下安装即可。下面通过来构建开发环境,提高开发体验。容器容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。部署开发环境部署开发环境其实很简单,只需要配置和即可。 前言 本次博文依然是对 multi-spa-webpack-cli 的扩充和完善。 集成 mongoose。 集成 Docker 开发环境。 multi-spa-w...
阅读 1129·2021-11-24 10:43
阅读 3053·2021-11-22 09:34
阅读 3534·2021-10-08 10:04
阅读 3890·2021-09-23 11:58
阅读 3100·2019-08-30 15:44
阅读 452·2019-08-30 13:01
阅读 1141·2019-08-28 18:07
阅读 1412·2019-08-26 13:42