MongoDB副本集集群搭建

news/2024/11/25 15:33:57/

1 Mongo文件配置

1.1关闭MongoDB

基于已经搭建好的单mongoDB环境搭建mongo 副本集群

登录数据库

 

 

输入use admin切换表

 

 

输入

db.shutdownServer(); 

关闭mongodb服务

输入exit回到shell界面,mongo服务已关闭

 

1.2 环境准备

虚拟机名称

IP地址

成员角色

主机名

thadoop0

192.168.2.150

主节点

thadoop0

thadoop1

192.168.2.151

副本节点

thadoop1

thadoop2

192.168.2.152

副本节点

thadoop2

!!该操作会删除mongodb单节点部署下的所有数据文件

切换到已配置的mongodb的目录下的/ data/db目录中使用 rm -rf * 删除数据文件

 

 

使用scp 命令将MongoDB复制到相应的节点

 

 

配置/etc/profile

为MongoDB 添加环境变量

 

 

使用scp复制到相应节点

 

 

使用

 source /etc/profile 

更新配置文件

修改bindIP 为对应节点,文件为mongodb目录下 /conf/mongod.conf

冒号后面有个空格!

 

 

1.3 启动集群

分别在三台服务器上启动

以副本集的模式启动thadoop0上的MongoDB

mongod --replSet cpnode0--dbpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db/--logpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongologs.log--port 27017--bind_ip thadoop0--logappend -fork

参数replSet:副本集名称

参数dbpath:数据存放目录

参数logpath:日志存放目录

参数logappend:追加方式写入日志

参数fork:后台运行

thadoop1:

mongod --replSet cpnode0--dbpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db/--logpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongologs.log--port 27017--bind_ip thadoop1--logappend -fork

thadoop2:

mongod --replSet cpnode0--dbpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db/--logpath /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongologs.log--port 27017--bind_ip thadoop2--logappend -fork

 

1.4 初始化副本集

登录thadoop0的mogodb客户端

 

执行

rs.initiate()

若客户端返回信息中字段OK的值为1,说明成功初始化副本集。

完成初始化命令,当前节点默认处于“SECONDARY(副本节点)”状态

等待几秒后,按回车键

 

自动选举自己为PRIMARY(主节点)

 

使用rs.add(“host:port”)添加副本角色到副本集中,返回ok字段中为1则为节点添加成功

 

在thadoop1中登录mongo客户端查看当前角色分配情况

 

在thadoop2中登录mongo客户端查看当前角色分配情况

 

在主节点中查看副本集状态

rs.status()

 

1.5 同步副本文档

登录thadoop0 切换到test数据库

并且插入一条文档

 

 

登录thadoop1 mongo客户端

查看文档是否写入成功

由于默认没有读取内容权限,所以需要开启节点读取权限

 rs.slaveOk()

再次查询

 

1.6故障转移

在thadoop0中关闭mongo服务(先exit退出mongoDB客户端)

查看服务进程

ps -ef | grep mongodbkill -2 进程号

 

在thadoop1和thadoop2 登录mongoDb查看是否有一个节点为主节点

发现thadoop1变更成主节点

 

1.7 调整副本集成员(粗略)

先使用

cfg=rs.conf()

使用

 cfg.members[0].priority = 2

 

 

将“_id”为0的副本节点(即服务器node01)优先级值由1改为2。

rs.reconfig(cfg)

提交更改

配置隐藏节点

配置延迟节点

 

配置节点投票权

 

1.8安全认证(粗略)

创建存放keyFile的目录

在mongodb的目录下创建/key/keyifle

通过Linux的提供的密码工具集生成符合KeyFile标准的密钥并写入KeyFile

 

 

vim 查看已经写入密钥文件

修改文件的权限为600

 

scp命令拷贝到其他节点

 

创建新用户

 

 

关闭副本集

然后以安全认证方法打开

thadoop0

mongod --replSet cpnode0--keyFile /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/key/keyfile--dbpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db--logpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongodb.log--port 27017 --bind_ip thadoop0 --logappend --fork​​

thadoop1


mongod --replSet cpnode0--keyFile /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/key/keyfile--dbpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db--logpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongodb.log--port 27017 --bind_ip thadoop1 --logappend --fork

 

thadoop2 


mongod --replSet cpnode0--keyFile /opt/module/mongodb-linux-x86_64-rhel62-4.4.10/key/keyfile--dbpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/data/db--logpath=/opt/module/mongodb-linux-x86_64-rhel62-4.4.10/logs/mongodb.log--port 27017 --bind_ip thadoop2 --logappend --fork

 

 

检查身份验证是否成功

通过全局管理用户进行身份验证后即可查询写入

 


http://www.ppmy.cn/news/514985.html

相关文章

半人半妖时代来啦

未来是半人半妖时代!!! 碳基生命与硅基生命结合 趣讲大白话:人和机器结合是大趋势 *********** 人工智能就是宗~教 科技宗~教的一支最强势的教派 日常使用智能机器的人就是信众 维护机器的人就是牧师 创造这…

Linux虚拟机安装MongoDB,

一、在VMware Workstations中安装Linux操作系统(最小安装即可)。 创建虚拟机时将虚拟机名称设置为NoSQL_01,网络连接方式为NAT模式;安装Linux操作系统时将主机名设置为nosql01。 二、安装完成后登录系统 三、将ip地址设置为固定i…

ギルドナ / 魔兽王

目录 基本资料面板值(无天冥加成)天冥奖励 战斗宣言(VC)技能珠子 回到人物索引 基本资料 NS(4★)NS(5★)第29章入队 (Ver 1.5.0)1.5部后日谈解放5★ (Ver 1.7.5)—魔王の詩篇(魔獣城VH) 天冥属性武器防具…

西行妖

题目 在幻想乡白玉楼有一棵终年不开花的樱树叫西行妖,西行寺幽幽子曾经为了让它开花而大量收集春度,然后被城管教训了一顿… 现在,幽幽子得到城管的允许,收集了S点春度,让西行妖重新开花。 西行妖可以被看成是一棵有…

27734: 万妖穴

题目描述 “万妖穴中有若干小穴,每处小穴中皆有一只恶妖。小穴外设有封印,汝需消灭指定几处小穴中的恶妖方能解除该小穴封印,进而消灭穴中恶妖。” “此处石壁所刻便是万妖穴中各穴的封印解除关系。” “万妖穴中或有部分小穴未设封印&#x…

用gitkraken链接GitHub进行版本管理

gitkraken:一款方便的可视化项目版本管理软件 kraken:北海巨妖(Kraken)指的是北欧神话中的一种传说中的巨型海怪(有记载说它有150米长),据说居住在挪威和格陵兰岛海岸附近,平时伏于…

西方妖怪大百科(上)

中网新空气之军事天地 本文版权归作者 maomi 和中网新空气共同拥有, 转贴请注明作者及出处 如将本文用于媒体出版, 请与作者本人联系 文章标题: 西方妖怪大百科(上)——绝好的文章,看西方小说时碰到这方面的典故就不会疑惑了&…

五分制是什么

用户输入0-100之间的百分制成绩,将其转为五分制输出,下面正确的答案为: A.score float(input()) degree “EEEEEEDCBAA” score_five degree[score / 10] print(score_five) B.score float(input()) degree “EEEEEEDCBAA” score_five…