三分钟搭建mongodb伪副本集

来源:互联网 发布:西安交通大学软件学院 编辑:程序博客网 时间:2024/04/19 21:04

一、目的
本文主要讲解“怎么做”的问题,如何在最短的时间搭建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  # 进程文件, 方便停止mongodbpidfilepath=/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进程所使用的端口号, 默认为27017port=27017# 数据库引擎storageEngine=wiredTiger# 登录需要认证,命令行指定(副本集中如果指定了--keyFile其实已经包含了auth了)auth=true# mongodb操作日志文件的最大大小. 单位为Mb, 默认为硬盘剩余空间的5%oplogSize=10000# 以后台方式运行进程fork=true  # 不预先分配存储noprealloc=true  # 开启httpinterfacehttpinterface=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 mongodb2cp -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()