三分钟搭建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

做了以上操作后,你将会看到以下的文件
三分钟搭建mongodb伪副本集_第1张图片

六、负责解压包两份

cp -rf mongodb1 mongodb2
cp -rf mongodb1 mongodb3

三分钟搭建mongodb伪副本集_第2张图片

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

八、启动所有结点

src/mongod -f mongodb.conf

启动成功信息如下:
三分钟搭建mongodb伪副本集_第3张图片

三分钟搭建mongodb伪副本集_第4张图片

九、通过工具或者命令行使用管理员账号登录原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()

你可能感兴趣的:(MongoDB)