mongodb复制集部署文档

一、安装环境:
版本:MongoDB server version: 3.4.4
安装源码包:mongodb-linux-x86_64-enterprise-rhel62-3.4.4.tgz
系统环境:CentOS release 6.6 (Final)
节点ip1: 172.16.88.195
节点ip2: 172.16.88.196
节点ip3: 172.16.88.190
二、节点配置
在三个节点分别操作:
1.进安装目录 /usr/local/ 解压源码包:

tar –zxvf mongodb-linux-x86_64-enterprise-rhel62-3.4.4.tgz

mv mongodb-linux-x86_64-enterprise-rhel62-3.4.4 mongodb

#mkdir -p /home/mongodb/data/
#mkdir –p /home/mongodb/logs
节点1配置:

vi /etc/mongodb.conf

#数据文件存放目录
dbpath = /opt/mongodb/data/
#日志文件存放目录
logpath = /opt/mongodb/logs/mongodb.logs
#端口
#bind_ip = 172.16.88.195 默认监听本地,注释监听所有
port = 27027
#以守护程序的方式启用,即在后台运行
fork = true
pidfilepath = /opt/mongodb/27027.pid
#是否禁止http接口,即28017 端口开启的服务。默认false,支持
#nohttpinterface = true
logappend = true
oplogSize = 200
#directoryperdb = true
replSet = test
httpinterface = true
rest = true
replIndexPrefetch = _id_only
节点2配置:

vi /etc/mongodb.conf

#数据文件存放目录
dbpath = /home/mongodb/data/
#日志文件存放目录
logpath = /home/mongodb/logs/mongodb.logs
#端口
port = 27027
#bind_ip= 172.16.88.196 默认监听本地,注释监听所有
#以守护程序的方式启用,即在后台运行
fork = true
pidfilepath = /home/mongodb/27027.pid
#是否禁止http接口,即28017 端口开启的服务。默认false,支持
#nohttpinterface = true
logappend = true
oplogSize = 200
#directoryperdb = true
replSet = test
httpinterface = true
节点3配置:

vi /etc/mongodb.conf

#数据文件存放目录
dbpath = /home/mongodb/data/
#日志文件存放目录
logpath = /home/mongodb/logs/mongodb.logs
#端口
#bind_ip = 172.16.88.190 默认监听本地,注释监听所有
port = 27027
#以守护程序的方式启用,即在后台运行
fork = true
#是否禁止http接口,即28017 端口开启的服务。默认false,支持
#nohttpinterface = true
httpinterface = true
pidfilepath = /home/mongodb/27027.pid
logappend = true
oplogSize = 200
#directoryperdb = true
replSet = test
rest = true
replIndexPrefetch = _id_only

在各个节点启动mongodb:/usr/localmongodb/bin/mongod -f /etc/mongodb.conf
登录:/usr/localmongodb/bin/mongo 172.16.88.190: 27027/admin

config = {

"_id":"test",

members:[

{"_id":0,host:"172.16.88.196:27027"},

{"_id":1,host:"172.16.88.190:27027"},

{"_id":2,host:"172.16.88.195:27027"}]

}

rs.initiate(config); ####初始化集群
--查看复制集成员
config.members
主节点创建库表:
test:PRIMARY> db.stu.insert({"name":"zhangsan","age":23})
副节点同步:
test:SECONDARY> rs.slaveOk()
test:SECONDARY> use test
switched to db test
test:SECONDARY> show collections
stu
停止一台mongodb ,查看选举情况
rs.status()
因为从节点默认是不允许读写的,解决这个问题,有两种方式

  1. 在从节点上执行rs.slaveOk()
  2. 或者在主节点上执行db.getMongo().setSlaveOk()
    三、用户创建
    1.创建管理员用户admin:
    db.createUser({
    user:"admin",
    pwd:"123456",
    roles:
    [
    {
    role:"userAdminAnyDatabase",
    db:"admin"
    },
    {
    role:"readWriteAnyDatabase",
    db:"admin"
    },
    {
    role:"dbAdminAnyDatabase",
    db:"admin"
    },
    {
    role:"root",
    db:"admin"
    }
    ]})

2.创建devops用户(读写权限):
db.createUser(
{
user: "devops",
pwd: "2wsx#EDC",
roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]
}
);

三、auth 认证:
1.创建认证文件
openssl rand -base64 64 > /home/mongodb/keyfile.data
将/home/mongodb/keyfile.data 复制到另外两节点的该目录下:
scp /home/mongodb/keyfile.data [email protected]$ip: /home/mongodb/
修改其权限为: chmod 600 /home/mongodb/keyfile.data
2.修改配置
在各个节点的配置文件中加入:
keyFile = /home/mongodb/keyfile.data
auth = true
重启 mongodb
/usr/localmongodb/bin/mongod -f /etc/mongodb.conf
3.登录授权
登录mongodb
/usr/localmongodb/bin/mongo 172.16.88.190: 27027/admin
授权:db.auth(“admin”,”123456”)
db.auth(“devops”,”2wsx#EDC”)
退出quit();
使用admin用户登录:
/usr/localmongodb/bin/mongo 172.16.88.190: 27027/admin -u admin –p 123456

使用devops用户登录:
/usr/localmongodb/bin/mongo 172.16.88.190: 27027/admin -u devops –p 2wsx#EDC
复制集认证完成
注意:在从节点操作时需要先执行: rs.slaveOk()
4.配置hosts:
vi /etc/hosts
172.16.88.195 mongo.slave0.56xyl.com
172.16.88.196 mongo.slave1.56xyl.com
172.16.88.190 mongo.slave2.56xyl.com

原文地址:http://blog.51cto.com/6086449/2163599

时间: 2024-07-31 09:09:16

mongodb复制集部署文档的相关文章

MongoDB复制集部署和基本管理

MongoDB复制集部署和基本管理 MongoDB复制集概述 复制集(Replica Sets)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据的可用性,通过复制集可以对硬件故障和中断服务进行恢复. 复制集由下列优点: 让数据更安全 高数据可用性(7*24) 灾难恢复 无停机维护(如备份.索引重建.故障转移) 读缩放(额外的副本读取) 副本集对应用程序是透明的 复制集工作原理 MongoDB的复制集至少需要两个节点.其中一个节点是主节点(Primary),负责处理客户

部署MongoDB复制集(主从复制、读写分离、高可用)

MongoDB 复制集 复制集(Replica Sets)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余备份并提高了数据的可用性,通过复制集可以对硬件故障和中断的服务进行恢复. MongoDB 复制集工作原理 mongodb的复制集至少需要两个节点.其中一个是主节点(Primary),负责处理客户端请求,其余的都是从节点(Secondary),负责复制主节点上的数据. mongodb各个节点常见的搭配方式为:一主一从.一主多从.主节点记录其上的所有操作到 oplog 中,从节点

配置MongoDB复制集

什么是复制集? 复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复.复制集的优势如下: 让数据更安全 高数据可用性(24*7) 灾难恢复 无停机维护(如备份.索引重建.故障转移) 读缩放(额外的副本读取) 副本集对应用程序是透明的 复制集工作原理 MongoDB的复制集至少需要两个节点.其中一个是主节点(Primary),负责处理客户端的请求,其余的都是从节点(Secondary),负责复制主节点上的数据.Mon

每天一篇,深入学习MongoDB复制集

复制集概念: 复制集是额外的数据副本,是跨多个服务器同步数据的过程,提供了冗余并增加了数据的可用性,通过它可以对硬件故障和中断的服务进行数据恢复 复制集工作原理: MongoDB复制集最少需要两个节点. 主节点:负责处理客户端的请求, 从节点:负责复制主节点上的数据 搭配方式:一主一从或一主多从 注:客户端在主节点写入数据,在从节点读取数据,主从进行数据交互,保证数据的一致性 MongoDB复制集部署 (1)配置复制集 [[email protected] ~]# mkdir -p /data/

MongoDB复制集及管理

MongoDB复制集及管理 MongoDB复制集概述 什么是复制集 复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复. 复制集的优点如下: 1).让数据更安全:2).高数据可用性:3).灾难恢复:4).无停机恢复(如备份.索引重建.故障转移):5).读缩放(额外的副本读取):6).副本集对应用程序是透明的: 复制集工作原理 MongoDB的复制集至少需要两个节点.其中一个是主节点(Primary),负责处理客户

【亲测】教你如何搭建 MongoDB 复制集 + 选举原理

目录 1·MongoDB 复制集概述2·MongoDB 复制集部署3·MongoDB 复制集管理(添加.移除等)4·复制集的总结 MongoDB 复制集是什么? 之前的一片文章讲了 MongoDB 的安装和日常的操作,有兴趣的朋友可以看看 MongoDB 的安装和简单操作 1)什么是复制集? 复制集是额外的一种数据副本,是跨多个服务器同步数据的过程,通俗的说就是可以在不同的服务器上备份数据,专业点说就是冗灾处理.通过复制集可以对硬件和终端的服务进行恢复. 2)复制集的优势如下: 1-让数据更加安

MongoDB 复制集 第 二 部 之【选举原理】

目录: 1·复制与选举的原理与验证2·oplog 日志调整3·配置复制集的优先级4·部署认证的复制5·总结 复制与选举的原理: 上一篇文章搭建了多台实例,部署成复制集,我们能知道复制集的作用,且进行了模拟故障,知道了从节点会主动切换为主节点,那么它是怎么推选出由哪一个从节点担任主节点呢? MongoDB 复制集的节点是通过选举产生主节点的,下面将介绍复制集节点间选举的过程: 1)复制的原理: 复制是基于操作日志 oplog ,相当于 MySQL 中的二进制日志,只会记录发生改变的记录.复制是将主

Redis集群部署文档(Ubuntu15.10系统)

Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003127.0.0.1:7004127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式下载地址:http://download.redis

线上测试高可用集群部署文档【我的技术我做主】

线上测试高可用集群部署文档 目录: 目录:1 项目需求:2 实现方式:2 拓扑图:3 系统及软件版本:3 安装步骤:4 IP分配:4 LVS和keepalived的安装和配置:4 LVS主配置:4 LVS2备 配置:7 web服务器配置9 Mysql-MHA高可用:13 Mysql主配置:13 manager管理端操作:15 VIP切换:16 测试:26 下面是centos5.6的系统环境,如果是centos6版本,只需改动少许地方即可,步骤一致 . ---- by 金戈铁马行飞燕 项目需求: