mongodb 副本集部署
1.安装三节点linux环境:196.168.1.111,196.168.1.112,192.168.1.113(三节点可彼此ping通)
2.三节点安装mongodb,参考https://blog.csdn.net/yezhenxu1992/article/details/51375123 安装3.2.20 版本mongodb
3.设置/etc/mongodb.conf
#数据路径
dbpath=/var/data
#日志路径
logpath=/var/log/mongodb/mongodb.log
#追加保存日志
logappend=true
#监听端口
port=27017
fork=true
# 未认证
noauth=true
# 保存mongodb pid文件
pidfilepath=/var/run/mongodb/mongod.pid
# 监听mongodb ip
bind_ip=196.168.1.111
# 副本集名称
replSet=spock
启动mongodb,可以使用如下脚本:
#!/bin/bash
pid_file=/var/run/mongodb/mongod.pid
pid_dir=/var/run/mongodb
data_dir=/var/data
if [ ! -e "$pid_dir" ]
then
mkdir -p $pid_dir
touch $pid_file
else
if [ ! -e "$pid_file" ]
then
touch $pid_file
fi
fi
if [ ! -e $data_dir ]
then
mkdir -p $data_dir
fi
mongod -f /etc/mongodb.conf
4.配置副本集:
mongodb连接到任一mongodb 比如:mongo 196.168.1.111/test,如下图:
config={"_id":"spock",
"members":[
{"_id":0,"host":"196.168.1.111:27017"},
{"_id":1,"host":"196.168.1.112:27017"},
{"_id":2,"host":"196.168.1.113:27017"}
]}
{
"_id" : "spock",
"members" : [
{
"_id" : 0,
"host" : "196.168.1.111:27017"
},
{
"_id" : 1,
"host" : "196.168.1.112:27017"
},
{
"_id" : 2,
"host" : "196.168.1.113:27017"
}
]
}
rs.initiate(conf)
5.副本集初始化完成后,三个节点上mongodb会根据初始化的先后顺序分出PRIMARY和SECONDARY.
6.三个节点中,如果primary节点异常,两个secondary节点中会自动选出primary节点,不影响提供读写功能。但是当此时,primary节点挂点,只剩下secondary时,服务不再提供写入功能,只能读取数据。除非强制将secondary转为primary后,在一个节点上提供读写功能。
比如只剩下一个节点196.168.1.111节点,强制重新配置副本集。
config={"_id":"spock",
"members":[
{"_id":0,"host":"196.168.1.111:27017"},
]}
{
"_id" : "spock",
"members" : [
{
"_id" : 0,
"host" : "196.168.1.111:27017"
},
]
}
rs.reconfig(conf,{'force':true})
rs.reconfig(conf,{'force':true})强制重新配置副本集,注意在config中_id需要与原来保持一致。
mongodb 副本集部署的更多相关文章
- MongoDB副本集部署
mongodb 副本集搭建 环境192.168.1.191 master192.168.1.192 slave,arbiterOS: ubuntu14.04mongodb: mongodb-l ...
- Mongodb 副本集分片(二)---mongodb副本集部署脚本详解
分享下,最近做的一主一从一仲裁的示例,如有需要,大家可以扩展成一主两从一仲裁. 大家可以看到 我的集群名字沿用了默认的neunnm,如果是其他的话 大家注意修改. 需要辅助文件hosts.con ...
- mongodb副本集原理及部署记录
工作原理 1.副本集之间的复制是通过oplog日志现实的.备份节点通过查询这个集合就可以知道需要进行复制的操作 2.oplog是节点中local库中的一个固定的集合,在默认情况下oplog初始化大小为 ...
- MongoDB副本集(一主两从)读写分离、故障转移功能环境部署记录
Mongodb是一种非关系数据库(NoSQL),非关系型数据库的产生就是为了解决大数据量.高扩展性.高性能.灵活数据模型.高可用性.MongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模 ...
- NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署
NoSQL数据库Mongodb副本集架构(Replica Set)高可用部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MongoDB 是一个基于分布式文件存储的数据库.由 C ...
- MongoDB副本集(一主一备+仲裁)环境部署-运维操作记录
MongoDB复制集是一个带有故障转移的主从集群.是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复.MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一 ...
- Mongodb副本集+分片集群环境部署记录
前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...
- Mongodb副本集+分片集群环境部署
前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...
- MongoDB 带访问控制的副本集部署
当你需要用到一个MongoDB 副本集集群,用于开发测试时, 可以通过下面的步骤简单完成. 版本及环境 MongoDB4.4 Centos6.5 一. 下载安装 MongoDB Server 及 ...
随机推荐
- linux中使用pip命令遇到的一些问题
一 安装readline包之后python3.6导入模块异常退出 Type "help", "copyright", "credits" o ...
- [Unity工具]批量修改字体
效果图: using System.IO; using System.Text; using UnityEditor; using UnityEngine; using UnityEngine.UI; ...
- sql server转oracle需要注意的几点
1. 字符型的字段相加需要用“||”,如果用“+”的话,会报“无效的数字”的错误. 2. Top 1 类似的脚本需要通过where rownum<=1来实现. 3. ISNULL函 ...
- centos出现“FirewallD is not running”
最近在服务器centos上安装了rdis数据库,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 8888时提示FirewallD is not running,经过排查发现是防火墙就没 ...
- 《汇编语言 基于x86处理器》第六章条件处理部分的代码
▶ 书中第六章的程序,使用了条件判断和跳转来实现一些功能 ● 代码,查找数组首个非零值 INCLUDE Irvine32.inc .data intArray SWORD , , , , , , , ...
- 同时安装python2和python3环境
一.同时安装两个环境 https://www.cnblogs.com/zhengyihan1216/p/6011640.html 二.快速安装django: https://blog.csdn.net ...
- 1. SpringBoot启动后,报异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.
出现这个异常说明了跳转页面的url无对应的值. 原因1: Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 原因:spring-boot会自动加载启动类所 ...
- react-native android 权限问题
初入reactNative 的一个坑 我是用的真机测试,没用安卓模拟器 第一次在安卓上打开应用,提示权限问题: Overlay permissions needs to be granted in o ...
- 机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 cur_img[:, :, 0] = 0 使得b通道的颜色数值为0
1. 截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式 2. b, g, r = cv2.split(img) # 对图片的颜色通道进行拆分 3.img = c ...
- spark 集成elasticsearch
pyspark读写elasticsearch依赖elasticsearch-hadoop包,需要首先在这里下载,版本号可以通过自行修改url解决. """ write d ...