Linux/Ubuntu 搭建mongodb集群(副本集)

Posted leihongnu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux/Ubuntu 搭建mongodb集群(副本集)相关的知识,希望对你有一定的参考价值。

1、配置三台虚拟机的ip以及主机名):

 192.168.56.101 S1

192.168.56.102 S2

192.168.56.103 S3

创建目录日志文件等:

mkdir -p /data/mong/log,db,key

touch  /data/mongo/log/mongodb.log

192..168.56.101 中:

cd /data/mongo/key

生成key文件

#openssl rand -base64 756 > mongo.key

分配权限

chmod 400 mongo.key

一般的docker中的mong用户id是999
chown 999.999 mongo.key

将 mongo.key 文件发送到其它两台服务器上,用于复制集成员之间的验证。文件必须保持一致,否者验证失败

将192.168.56.101的key文件传送到192.168.56.102和192.168.56.103的/data/mongo/key下

2、修改mongod.conf配置文件中的副本集名称(注意空格)

dbpath = /data/mongo/db

#日志文件存放目录
logpath = /data/mongo/log/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=127.0.0.1,192.168.56.101
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
auth = true

replSet = mongo_rep

#fork = true

keyFile=/data/mongo/key/mongo.key

3、副本集初始化

先在主节点初始化,登录mongo

>use admin

>config = _id:"mongo_rep", version:1, members:[_id:0, host:"192.168.56.101:27017", priority:6, _id:1, host:"192.168.56.102:27017", priority:3, _id:2, host:"192.168.56.103:27017", priority:2]

#初始化

>rs.initiate()

 选举primary要等一会

出现“ok”:1表示主节点初始化成功,成功后会出现primary(没出现就等几秒后按回车),若出现“ok”:0则表示错误,错误的原因可能会有很多

 

MongoDB分片集群搭建

参考技术A 分片(sharding)是一种跨多台机器分布数据的方法,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。换句话说:分片就是将数据拆分,将其分散存在不同的机器上的过程,将数据分散到不同的机器上,不需要功能强大的大型计算机就可以存储更多的数据,处理更多的负载。

MongoDB分片集群包含以下组件:

下图描述了分片集群中组件的交互:

本文搭建的副本集集群是两个分片节点副本集(3+3)+一个配置节点副本集(3)+两个路由节点(2),共11个服务节点,具体如下图所示:

本次搭建一主一副本一仲裁,相关的配置文件、数据、日志都放在sharded_cluster相应的子目录下面,具体步骤如下:

myshardrs01

设置sharding.clusterRole需要mongod实例运行复制。 要将实例部署为副本集成员,请使用
replSetName设置并指定副本集的名称。

使用客户端命令连接主节点,这里最好连接主节点

执行初始化副本集命令:

查看副本集情况:

同样搭建一主一副本一仲裁,相关的配置文件、数据、日志都放在sharded_cluster相应的子目录下面,
具体步骤如下:

myshardrs02

myshardrs01_27318

设置sharding.clusterRole需要mongod实例运行复制。 要将实例部署为副本集成员,请使用
replSetName设置并指定副本集的名称

myshardrs01_27418

myshardrs01_27518

启动第二套副本集:一主一副本一仲裁

依次启动三个mongod服务:

查看服务是否启动:

新建或修改配置文件:
myconfigrs_27019:

新建或修改配置文件:
myconfigrs_27119

新建或修改配置文件:
myconfigrs_27219

依次启动配置的mongod副本集:一主两副本

查看服务是否启动:

以上是关于Linux/Ubuntu 搭建mongodb集群(副本集)的主要内容,如果未能解决你的问题,请参考以下文章

基于Linux(Ubuntu20.04)初步搭建k8s集群基础,详细教程

mongodb伪集群(单机集群)搭建

mongodb集群搭建 (仲裁模式)

MongoDB分片集群搭建

Docker——基于Docker搭建MongoDB分片集群

MongoDB——MongoDB分片集群(Sharded Cluster)两种搭建方式