Mongodb副本集集群搭建
一、环境准备
1.1.主机信息(机器配置要求见硬件及开发标准规范文档V1.0)
序号 |
主机名 |
IP |
1 |
DB_01 |
10.202.105.52 |
2 |
DB_02 |
10.202.105.53 |
3 |
DB_03 |
10.202.105.54 |
4 |
DB_04 |
10.202.105.181 |
服务器52(DB_01) |
服务器53(DB_02) |
服务器54(DB_03) |
服务器55(DB_04) |
primary |
secondry |
secondry |
hidden(阿里云一般都是主 备 Hidden三节点) 这里暂时忽略异常情况选举 其实和zk选举一样的道理 |
端口分配:(端口可以根据实际情况进行更改)
mongos:20000
1.2.软件版本
组件 |
版本 |
备注 |
MongoDB |
3.4.X |
1.3.软件下载
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.7.tgz
二、软件部署
2.1软件安装
useradd mongodb
passwd mongodb
chown -R mongodb:mongodb /app/mongodb/
chown -R mongodb:mongodb /data/mongodb/
并用mongo用户在一台机器上生成集群间验证文件并同步文件到其余两台机器相应位置赋予同样权限
openssl rand -base64 100 > /data/keyFile/keyFilers0.key
chmod 600 /data/keyFile/keyFilers0.key
1、新建目录(四台机器均操作) mkdir -p /data/mongodb/conf mkdir -p /data/mongodb/data mkdir -p /data/mongodb/log 2、安装Mongodb(三台机器均操作,目录为/app/mongo/…<mongo为超链接>) tar –zxvf mongodb-linux-x86_64-rhel70-3.4.7 tar.gz 然后配置环境变量 vim /etc/profile # 内容 export MONGODB_HOME=… export PATH=$MONGODB_HOME/bin:$PATH # 使立即生效 source /etc/profile |
2.2配置文件
1、打开mongod.conf,修改以下配置项:(四台机器均操作)
vi /data/mongodb/conf/mongod.conf systemLog: destination: file logAppend: true logRotate: reopen path: /data/mongodb/log/mongod.log # Where and howto store data. ##########operationProfilingOptions storage: dbPath: /data/mongodb/data journal: enabled: true directoryPerDB: true engine: wiredTiger #########storage.wiredTigerOptions wiredTiger: engineConfig: cacheSizeGB: 2 directoryForIndexes: true collectionConfig: blockCompressor: zlib indexConfig: prefixCompression: true operationProfiling: slowOpThresholdMs: 100 mode: "all" processManagement: fork: true pidFilePath: /data/mongodb/log/mongod.pid net: port: 20000 bindIp: 0.0.0.0 maxIncomingConnections: 20000 security: #authorization: enabled #clusterAuthMode: keyFile #keyFile: /data/keyFile/keyFilers0.key #keyFile: /srv/mongodb/keyfile javascriptEnabled: true setParameter: enableLocalhostAuthBypass: false authenticationMechanisms: SCRAM-SHA-1 replication: ##oplog大小 oplogSizeMB: 10000 replSetName: repl sharding: clusterRole: configsvr #configsvr or shardsvr |
2.3初始化服务及副本集
1.启动四台服务器的mongod server并配置副本集(四台均启动) mongod -f /data/mongodb/conf/mongod.conf 登录任意一台配置服务器,初始化配置副本集 #连接 mongo --port 20000 use admin #config变量 cfg={_id:"repl",members:[ {_id:0,host:"10.202.105.52:20000",priority:2}, {_id:1,host:"10.202.105.53:20000",priority:1}, {_id:2,host:"10.202.105.54:20000",priority:1}, {_id:3,host:"10.202.105.181:20000",priority:0,hidden:true}]} #初始化副本集 rs.initiate(cfg) 其中,"_id" : "cfg"应与配置文件中配置的 replicaction.replSetName 一致,"members" 中的 "host" 为四个节点的 ip 和 port |
2.4增加安全机制
http://blog.csdn.net/u011191463/article/details/68485529 //mongo用户类型引导 http://www.jianshu.com/p/f585f71acbf2 //用户添加步骤 1)在Router下,切换到admin库,用db.createUser(用户名,密码)添加好认证帐号,再切换到目标数据库做类似的帐号添加操作。步骤如下 创建用户 use admin db.createUser( { user: "admin", pwd: "123456", roles: [ {role: "userAdminAnyDatabase",db: "admin"}, { role: "readAnyDatabase", db:"admin" }, { role: "dbOwner", db:"admin" }, { role: "userAdmin", db:"admin" }, { role: "root", db: "admin"}, { role: "clusterMonitor", db:"admin" }, { role: "dbAdmin", db:"admin" }, ] } ) 用户名为admin,密码为123456 验证用户db.auth("admin","123456"); 出现1则为验证成功 再切换到zhaobo此数据库,添加用户 db.createUser( { user: "zhaobo", pwd: "123456", roles: [ { role: "dbOwner", db:"zhaobo" }, { role: "userAdmin", db:"zhaobo" }, { role: "dbAdmin", db:"zhaobo" }, ] } ) 验证用户db.auth("zhaobo","123456"); 出现1则为验证成功 2)生成keyfile,可以使用如下命令:(在开始安装之前已经生成就不需要此步骤了) openssl rand -base64 100 > /data/keyFile/keyFilers0.key 将keyfile文件复制到各服务器备用,注意:需要给keyfile设置好权限,权限必须为600。 chmod 600 /data/keyFile/keyFilers0.key 3)杀掉所有的mongod进程。去掉配置文件的sectury下面的注释,本文以配置文件方式设置启动参数,启动各服务器 5)完成以后就可以使用上面配置的帐号密码访问Router了。在客户端Robo 3T测试成功 本地登陆数据库之后验证db.auth("admin","123456"); 即可正常使用 mongodb的启动顺序是, mongos -f /data/mongodb/conf/mongos.conf 关闭mongos use admin db.shutdownServer() |
Mongodb副本集集群搭建的更多相关文章
- MongoDB 3.6.9 集群搭建 - 切片+副本集
1. 环境准备 在Mongo的官网下载Linux版本安装包,然后解压到对应的目录下:由于资源有限,我们采用Replica Sets + Sharding方式来配置高可用.结构图如下所示: 这里我说明下 ...
- mongodb 3.4 集群搭建:分片+副本集
mongodb是最常用的nodql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- MongoDB集群搭建-副本集
MongoDB集群搭建-副本集 概念性的知识,可以参考本人博客地址: 一.Master-Slave方案: 主从: 二.Replica Set方案: 副本集: 步骤:(只要按步骤操作,100%成功) 1 ...
- mongodb 3.6 集群搭建:分片+副本集
mongodb是最常用的nosql数据库,在数据库排名中已经上升到了前六.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- MongoDB 高可用集群副本集+分片搭建
MongoDB 高可用集群搭建 一.架构概况 192.168.150.129192.168.150.130192.168.150.131 参考文档:https://www.cnblogs.com/va ...
- mongodb之 3.4.0 mongodb sharing 副本集群搭建
系统系统 centos6.5三台服务器:10.100.25.42/43/44安装包: mongodb-linux-x86_64-rhel62-3.4.0.tgz 服务器规划:mongos mongos ...
- MongoDB 3.4 高可用集群搭建(二)replica set 副本集
转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<MongoDB 3.4 高可用集群搭建(一):主从模式&g ...
- mongodb集群搭建(分片+副本)
原文地址:https://www.cnblogs.com/ityouknow/p/7344005.html 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...
- mongodb集群搭建(分片+副本)开启安全认证
关于安全认证得总结: 这个讲述的步骤也是先创建超管用户,关闭服务,然后生成密钥文件,开启安全认证,启动服务 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...
- mongodb生产环境(副本集模式)集群搭建配置
mongodb副本集模式由如下几部分组成: 1.路由实例mongos 2.配置实例configsvr 3.副本集集群replset(一主多从) tips: 1.以上实例都是mongod守护进程 2.以 ...
随机推荐
- java 环境配置及开发工具
1.下载JDK 网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2 安装jdk 3.安装好jdk后配置环境变 ...
- HNUSTOJ-1512 奇怪的导弹(暴力)
1512: 奇怪的导弹 时间限制: 3 Sec 内存限制: 32 MB提交: 31 解决: 13[提交][状态][讨论版] 题目描述 最近国际形势比较紧张,就拿中国来说,比如南海问题,钓鱼岛事件等 ...
- 使用Jenkins结合Gogs和SonarQube对项目代码进行测试、部署、回滚,以及使用keepalived+haproxy调度至后端tomcat
0 环境说明 主tomcat:192.168.0.112 备tomcat:192.168.0.183 haproxy+keepalived-1:192.168.0.156 haproxy+keepal ...
- React Native 开源项目汇总
最近闲来无事,学习了React Native开发Android APP,自我感觉RN APP的效果和Native APP比还是蛮不错,以下是找到的一些优秀源码,仅供学习参考... React Nati ...
- 利用ab压力工具对服务器进行压力测试
假如我们需要对http://letv.com进行压力测试,指定请求总数为100,并发用户数为10,我们可以以下面的方式进行测试 $ ab -n 100 -c 10 http://letv.com/Th ...
- IDEA设置类头,方法头自定义内容~图文
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
- Qualcomm_Mobile_OpenCL.pdf 翻译-2
2 Opencl的简介 这一章主要讨论Opencl标准中的关键概念和在手机平台上开发Opencl程序的基础知识.如果想知道关于Opencl更详细的知识,请查阅参考文献中的<The OpenCL ...
- framebuffer测试程序
/* framebuffer简单测试程序 网上转载 很多次 的程序 :-) */ #include <stdio.h> #include <stdlib.h> #include ...
- SQL Server设置启动存储过程
--设置开关 启动程序自动运行存储过程必须启动该命令 sp_configure "show advanced options",1; go reconfigure; go --设置 ...
- P5200 [USACO19JAN]Sleepy Cow Sorting 牛客假日团队赛6 D 迷路的牛 (贪心)
链接:https://ac.nowcoder.com/acm/contest/993/E 来源:牛客网 对牛排序 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...