三分钟搭建mongodb伪副本集

一、目的
本文主要讲解“怎么做”的问题,如何在最短的时间搭建mongodb伪集群

二、下载mongodb并解压

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
tar -zxvf mongodb-linux-x86_64-2.4.8.tgz

三、准备好mongodb.conf配置文件
因为下载好的mongodb的包里面是没有配置文件的,所以我们需要手动的创建一个配置文件,而这里的安装使用key来搭建副本集,提高安全性,如何生成key请自行百度。
以下是mongodb.conf 配置文件内容

# 数据存放目录
dbpath=/opt/Link/platform/mongodb/data

# 日志存放路径
logpath=/opt/Link/platform/mongodb/logs/mongodb.log  

# 进程文件, 方便停止mongodb
pidfilepath=/opt/Link/platform/mongodb/logs/mongodb.pid  

# SOCK 文件路径
unixSocketPrefix=/opt/Link/platform/mongodb

# 为每一个数据库按照数据库名建立文件夹存放
directoryperdb=true

# 以追加的方式记录日志
logappend=true  

# replica set的名字
replSet=prodRep001

# mongodb所绑定的ip地址
bind_ip=0.0.0.0

# mongodb进程所使用的端口号, 默认为27017
port=27017

# 数据库引擎
storageEngine=wiredTiger

# 登录需要认证,命令行指定(副本集中如果指定了--keyFile其实已经包含了auth了)
auth=true

# mongodb操作日志文件的最大大小. 单位为Mb, 默认为硬盘剩余空间的5%
oplogSize=10000

# 以后台方式运行进程
fork=true  

# 不预先分配存储
noprealloc=true  

# 开启httpinterface
httpinterface=true

# 开启rest支持更多的状态显示
rest = true

#开启auth之后,各个mongodb直接需要通过keyFile相互认证,副本集上的各个mongodb的keyFile必须相同
keyFile=/opt/Link/platform/mongodb/mongodb-keyfile

#maxConns=20000

其中一些配置项可能会因为版本的内容不同而变化,在启动中查看问题,再删除一些不必要的配置段即可

四、把准备好的 conf文件与key文件放置到mongo的解压包下

五、创建 data 文件夹、logs文件夹、并修改key的执行权限

mkdir logs;
mkdir data;
chmod 400 mongo-keyfile

做了以上操作后,你将会看到以下的文件
这里写图片描述

六、负责解压包两份

cp -rf mongodb1 mongodb2
cp -rf mongodb1 mongodb3

这里写图片描述

七、进入到mongodb2、mongodb3文件的配置里面,修改端口,三个结点不能使用同一端口

八、启动所有结点

src/mongod -f mongodb.conf

启动成功信息如下:
这里写图片描述

这里写图片描述

九、通过工具或者命令行使用管理员账号登录原mongodb,在mongodb中运行一下命令,以下为mongodb命令

use admin
 config = {_id: 'prodRep001', members: [ 
    {_id: 0, host: '127.0.0.1:27001'}, 
    {_id: 1, host: '127.0.0.1:27002'}, 
    {_id: 2, host: '127.0.0.1:27003',arbiterOnly:true}] #仲裁结点
 }
rs.initiate(config)

十、查看副本集状态

rs.status()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是 MongoDB 搭建副本的步骤: 1. 准备工作 确保已经安装了 MongoDB,可以通过以下命令检查 MongoDB 是否已经安装: ``` mongod --version ``` 2. 创建数据目录 在创建副本之前,需要为每个 MongoDB 实例创建数据目录。可以通过以下命令创建数据目录: ``` mkdir -p /data/rs1 /data/rs2 /data/rs3 ``` 其中,`/data/rs1`、`/data/rs2` 和 `/data/rs3` 分别是三个 MongoDB 实例的数据目录。 3. 启动 MongoDB 实例 使用以下命令启动三个 MongoDB 实例: ``` mongod --port 27017 --dbpath /data/rs1 --replSet rs0 mongod --port 27018 --dbpath /data/rs2 --replSet rs0 mongod --port 27019 --dbpath /data/rs3 --replSet rs0 ``` 其中,`--port` 参数指定 MongoDB 实例的端口号,`--dbpath` 参数指定数据目录的路径,`--replSet` 参数指定副本的名称。 4. 连接到其中一个 MongoDB 实例 使用以下命令连接到其中一个 MongoDB 实例: ``` mongo --port 27017 ``` 5. 初始化副本MongoDB Shell 中执行以下命令初始化副本: ``` rs.initiate() ``` 6. 添加其他 MongoDB 实例 在 MongoDB Shell 中执行以下命令添加其他 MongoDB 实例: ``` rs.add("localhost:27018") rs.add("localhost:27019") ``` 其中,`localhost:27018` 和 `localhost:27019` 分别是其他两个 MongoDB 实例的地址。 7. 查看副本状态 在 MongoDB Shell 中执行以下命令查看副本状态: ``` rs.status() ``` 如果输出结果中的 `members` 数组中有三个成员,则说明副本搭建成功。 以上就是搭建 MongoDB 副本的步骤,希望对你有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值