MongoDB集群搭建

所有的MongoDB部署均支持身份验证。 默认情况下MongoDB不检测是否授权用户。对于现有部署和新部署都可以启用身份验证和授权。 但是要启用它们必须有停机时间,无法对在线的mongodb做修改。
以下我们将部署一个三节点的replica set复制集,其中的三个节点:
1. 192.168.0.199 默认的primary(主)
2. 192.168.0.197 Secondary(从)
3. 192.168.0.198 ARBITER(仲裁)
1. 进入到 /usr/local/ 目录:
cd /usr/local
2. 在当前目录下创建 mongodb 目录:
mkdir -p mongodb
3. 进入到 tools 目录中:
cd tools
4. 下载与 CentOS 系统匹配的 mongodb-linux-x86_64-rhel70-3.2.4.tgz 文件:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz
5. 解压缩 mongodb-linux-x86_64-rhel70-3.2.4.tgz 文件:
tar -zxvf mongodb-linux-x86_64-rhel70-3.2.4.tgz
解压完成后得到 mongodb-linux-x86_64-rhel70-3.2.4 文件夹及其所属的文件;
6. 重命名 mongodb-linux-x86_64-rhel70-3.2.4 文件为 mongodb-master:
mv mongodb-linux-x86_64-rhel70-3.2.4 mongodb-master
这里写图片描述
注:key目录下的文件是为mongoDB启动安全认证做准备(下面会说明)。
7. 启动mongodb-master节点上的mongod(这里采用配置文件启动方式)
./mongod –f mongodb.conf
8. 在无需身份验证的mongodb-master上创建用户
db.createUser({user:”vrkb”,pwd:”vrkb0516”,roles:[{“role”:”root”,”db”:”admin”},{“role”:”readWrite”,”db”:”mongotest”}]})
9. 创建完用户,关掉mongoDB服务
ps aux |grep mongodb
kill -15 PID
10.在mongodb-master节点上生成一个为replica set 成员准备的SSL KEY文件
进入到 /usr/local/mongodb/mongodb-master 目录:
cd /usr/local/mongodb/mongodb-master
执行如下命令:
openssl rand -base64 741 > mongodb-keyfile
chmod 600 mongodb-keyfile
将生成的mongodb-keyfile文件,复制到其他两个节点下key目录下

  1. 启动三个节点上的mongod
    cd /usr/local/mongodb/mongodb-master(主)
    ./monood -f mongodb.conf
    cd /usr/local/mongodb/mongodb-slaver(从)
    ./mongod -f mongodb.conf
    cd /usr/local/mongodb/mongodb-arbiter(仲裁)
    ./mongod -f mongodb.conf

12.连接到primary节点 开始Replica SET配置
输入密码 db密码,进入db.auth验证
13. 初始化replica set配置
执行
rs.initiate()
14.将Secondary节点和ARBITER节点加入replica set
rs.add(“192.168.0.197:27017”)
rs.addArb(“192.168.0.198:27017”)
15.查看replica set 状态
rs.status()

replica set参数配置:
• “_id” : #集群中节点编号
• “name” : #成员服务器名称及端口
• “health” : #表示成员中的健康状态(0:down;1:up)
• “state” : #为0~10,表示成员的当前状态
• “stateStr” : #描述该成员是主库(PRIMARY)还是备库(SECONDARY)
• “uptime” : #该成员在线时间(秒)
• “optime” : #成员最后一次应用日志(oplog)的信息
• “optimeDate” : #成员最后一次应用日志(oplog)的时间
• “electionTime” : #当前primary从操作日志中选举信息
• “electionDate” : #当前primary被选定为primary的日期
• “configVersion” : #mongodb版本
• “self” : #为true 表示当前节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值