mongodb添加创建修改时间_mongodb副本集生产环境下部署案例,推荐一个主两个从三台机器...
Linux中部署Mongodb副本集
提示:
以下操作步骤较多,请耐心阅读。
关于理论部分请参考上篇浅谈mongodb副本集。
1、 准备
192.168.102.110 master
192.168.102.111 slave1
192.168.102.112 slave2
以下操作以常用的1主2从3台机器为例
2、 操作
以master为例,配置好一台再scp到slave1、slave2
2.1、准备好mongodb
2.2、创建数据库目录和日志文件、配置文件、mongo.pid文件
[root@odysee mongodb4.0]# mkdir data/db -p
[root@odysee mongodb4.0]# mkdir {etc,logs}
[root@odysee mongodb4.0]# touch logs/mongodb.log
[root@odysee mongodb4.0]# touch etc/mongodb.conf
创建mongo.pid文件
touch mongo.pid
2.3、配置mongodb.conf文件
port=27017
bind_ip=192.168.102.110
dbpath=/root/General/mongodb4.0/data/db/
logpath=/root/General/mongodb4.0/logs/mongodb.log
pidfilepath=/root/General/mongodb4.0/mongo.pid
fork=true
logappend=true
shardsvr=true
directoryperdb=true
#auth=true
#keyFile=/root/General/mongodb4.0/keyfile
#副本集名字
replSet=odysee
3、 编写启动脚本
[root@odysee mongodb4.0]# vi /etc/init.d/mongod
写入
#!/bin/bash
# chkconfig: - 64 36
# description: this is mongod
case $1 in
start)
/root/General/mongodb4.0/bin/mongod --maxConns 20000 --config /root/General/mongodb4.0/etc/mongodb.conf
;;
stop)
/root/General/mongodb4.0/bin/mongo 192.168.102.110:27017/admin --eval "db.shutdownServer()"
#/root/General/mongodb4.0/bin/mongo 192.168.102.110:27017/admin --eval "db.auth('system', '123456');db.shutdownServer()"
;;
status)
/root/General/mongodb4.0/bin/mongo 192.168.102.110:27017/admin --eval "db.stats()"
#/root/General/mongodb4.0/bin/mongo 192.168.102.110:27017/admin --eval "db.auth('system', '123456');db.stats()"
;; esac
启动master节点
注意:
给mongod执行的权限
chmod a+x /etc/init.d/mongod
/etc/init.d/mongod start
4、 Scp mongodb4.0和mongod.conf文件到slave1和slave2
将mongodb4.0 远程cp的slave1
scp -r ~/General/mongodb4.0/ root@192.168.102.111:~/General/
将mongodb4.0 远程cp的slave2
scp -r ~/General/mongodb4.0/ root@192.168.102.112:~/General/
将mongod.conf 远程cp的slave1
scp /etc/init.d/mongod root@192.168.102.111:/etc/init.d/
将mongod.conf 远程cp的slave2
scp /etc/init.d/mongod root@192.168.102.112:/etc/init.d/
修改slave1 mongodb.conf的ip
修改slave2 mongodb.conf的ip
修改slave1 mongod的ip
修改slave2 mongod的ip
启动slave1
/etc/init.d/mongod start
启动slave2
/etc/init.d/mongod start
5、配置主节点
5.1、利用mongo登录
bin/mongo 192.168.102.110
5.2、初始化副本集,设置本机为主节点
rs.initiate()
rs.conf()
注意:
执行上面的两个命令后,前缀已经改成odysee:PRIMARY>
5.3、添加副本集从节点
添加slave1
rs.add("192.168.102.111:27017")
添加slave2
rs.add("192.168.102.112:27017")
5.4、设置节点优先级
查看节点顺序
cfg = rs.conf()
设置节点优先级
odysee:PRIMARY> cfg.members[0].priority = 1
1
odysee:PRIMARY> cfg.members[1].priority = 1
1
odysee:PRIMARY> cfg.members[2].priority = 2
2
//使配置生效
odysee:PRIMARY> rs.reconfig(cfg)
注意:
主节点发生故障时,优先级高的节点就会转变为主节点接管服务。
提示:
副本集通过设置priority决定优先级,默认优先级为1。
priority值是0到100之间的数字,数字越大优先级越高。
若priority=0,则此节点永远不能成为主节点primay。
6、配置slave1和slave2
Slave1
bin/mongo 192.168.102.111
//设置Slave1为只读
odysee:SECONDARY> db.getMongo().setSlaveOk()
odysee:SECONDARY>
Slave2
bin/mongo 192.168.102.112
//设置Slave2为只读
odysee:SECONDARY> db.getMongo().setSlaveOk()
odysee:SECONDARY>
7、设置数据库账号
添加两个管理员账号:
一个系统管理员:system
一个数据库管理员:administrator
在master操作
db.createUser({user:"system
mongodb添加创建修改时间_mongodb副本集生产环境下部署案例,推荐一个主两个从三台机器...相关推荐
- mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解
一.Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键.文档结构采用类似JSON的BSON格式. ...
- Kubernetes集群环境搭建详细教程(一主两从)
Kubernetes集群环境搭建详细教程(一主两从) 1.1 安装要求 在开始之前,部署Kubernetes 集群机器需要满足以下几个条件: 一台或多台机器,操作系统CentOS7.x-86_x64 ...
- 服务器集群环境下session的共享问题
一,集群和分布式的区别 在进入今天的正题之前,对服务器集群和分布式服务器这两个概念进行简要说明. 服务器集群:服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器. ...
- MongoDB高性能、高可用之副本集、读写分离、分片、操作实践
2019独角兽企业重金招聘Python工程师标准>>> 关于MongoDb 1.MongoDB是一个开源的.基于分布式的.面向文档存储的非关系型数据库. 2.是非关系型数据库当中功能 ...
- MongoDB 配置文件详解,以及副本集,优先级
## content . mongodb 日志开启并指定日志位置 systemLog:destination: filelogAppend: truepath: /www/server/mongodb ...
- k8s-大型分布式集群环境捷径部署
转k8s-大型分布式集群环境捷径部署 课程介绍 Kubernetes(k8s)一个用于容器集群的自动化部署.扩容以及运维的开源平台.通过Kubernetes,你可以快速有效地响应用户需求;快速而有 ...
- GitOps:Kubernetes多集群环境下的高效CICD实践
为了解决传统应用升级缓慢.架构臃肿.不能快速迭代.故障不能快速定位.问题无法快速解决等问题,云原生这一概念横空出世.云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司 ...
- 在非容器(集群)环境下运行dapr
作者:李俱顺 原文:https://www.4async.com/2021/03/2021-03-11-running-dapr-without-container/ 前一段时间一直关注的dapr正式 ...
- 多云环境下部署 k3s 集群
多云环境下部署 k3s 集群 最近在玩k3s,刚好手上有三台云服务器(白嫖的一年亚马逊,双11买的腾讯云,朋友的阿里云),尝试跨云厂商搭建k3s集群玩玩 一.基础配置 服务器信息 系统 公网IP 内网 ...
最新文章
- 【一语点醒梦中人】如何优雅地合并两个JSON对象 → Object.assign(a, b)和Object.assign({}, a, b)的区别
- Pytorch-nn.BatchNorm2d()
- art-template入门(六)之解析规则
- go 二进制程序守护_图解 Go 程序是怎样跑起来的
- LeetCode 314. 二叉树的垂直遍历(BFS/DFS)
- 使用Python开发SQLite代理服务器
- MFC 教程【8_MFC的进程和线程 】
- python根据题库答案自动答题器_python实现百万答题自动百度搜索答案
- 【IT】QTTabBar使用
- 前端代码更新镜像后,浏览器显示缓存
- js获取某月的天数以及某天的前一个日期和后一天日期
- u盘第一扇区 分区表_硬盘主引导扇区、分区表和分区引导扇区(MBR、DPT、DBR、BPB)详解...
- 域名注册必须实名认证 《互联网域名管理办法》11月1日实施
- 万语千言,不敌一纸情书
- [精简]快速入门五线谱
- 计算机网络图标在哪里照,网络设备图标-电脑上的网络图标怎么显示
- 使用Arduino IDE来编写上传STM32以及STM8代码,STM32Duino教程
- POJ 1625	Censored!
- 【Pytorch】AlexNet图像分类实战
- guitar chord html5,Chord Guitar Full
热门文章
- leetcode 130. Surrounded Regions | 130. 被围绕的区域(DFS递归“感染“思路)
- 【Tomcat Eclipse】8080端口被占用问题记录
- 【广义找零钱问题】 贪心算法求解进制转换问题
- C语言 记录程序运行时间(以秒为单位)
- JavaScript JSON操作
- include php 失效,为什么include(‘php:// input’)不起作用?
- cas 单点登录_47 使用cas完成单点登录-02 搭建cas client完成单点登录
- 容器学习 之 base镜像(四)
- 0-1 背包问题的 4 种解决方法算法策略
- 大量更新后数据膨胀_段合并的原理探寻