Centos 7 中MongoDB3.4.2 集群搭建

一、环境准备

1、Centos7 
2、mongodb3.4.2 
3、三台机器IP分别是:192.168.0.139、192.168.0.178、192.168.0.183

二、mongdb数据库的安装

如下操作是分别在三台机器进行

1、首先分别在三台机器上下载好mongodb安装包mongodb-linux-x86_64-rhel70-3.4.2.tgz

cd /usr/local/

mkdir data

cd data

wget https://bbcbackup.oss-cn-shenzhen.aliyuncs.com/run/linux/mongodb-linux-x86_64-rhel70-3.4.2.tgz

2、使用tar命令解压安装包然后修改解压后的目录名

tar zxvf  mongodb-linux-x86_64-rhel70-3.4.2.tgz #解压安装包

mv mongodb-linux-x86_64-rhel70-3.4.2 mongodb  #改名为mongodb

3、 进入 mongodb目录中新建三个目录conf、logs 、db 
conf存储配置文件目录,logs用来存储日志目录,db用来存储数据目录

cd mongodb

mkdir conf logs db  #新建conf logs db 目录

4、进入conf目录新建mongodb的配置文件mongodb.conf

cd conf

touch mongodb.conf    #新建mongodb的mongodb.conf 配置文件

5、编写配置文件mongodb.conf,内容如下  

其中dbpath是数据库文件目录,logpath是日志目录,port是mongodb所占用的端口,fork是true的时候表示在后台启动

dbpath=/usr/local/data/mongodb/db
logpath=/usr/local/data/mongodb/logs/mongodb.log
port=27017
fork=true

6、分别在三台机器上启动mongodb 

其中–replSet表示副本集群参数 ,mongoTest是副本集名称,这里的名字可以任意取,另外两台机也要和这个一样

/usr/local/data/mongodb/bin/mongod --config /usr/local/data/mongodb/conf/mongodb.conf  --replSet mongoTest

如果启动成功会看到类似下面的提示

about to fork child process, waiting until server is ready for connections.
forked process: 16079
child process started successfully, parent exiting

三、配置mongodb副本集

下面对mongodb副本集进行初始化

1、进入其中一台机器的mongo shell操作

/usr/local/data/mongodb/bin/mongo -port 27017

2、 使用admin库

use admin

3、mongo副本配置

config={_id:'mongoTest',members:[{_id:0,host:'192.168.0.139:27017'},{_id:1,host:'192.168.0.178:27017'},{_id:2,host:'192.168.0.183:27017'}]}

提示下图,初始化完毕 

在这里我遇到的这个问题,OK:0

{
        "ok" : 0,
        "errmsg" : "replSetInitiate quorum check failed because not all proposed set members responded affirmatively: 192.168.0.178:27017 failed with No route to host, 192.168.0.183:27017 failed with No route to host",
        "code" : 74,
        "codeName" : "NodeNotFound"
}

提示这个只需要把防火墙关了,或者添加端口就可以解决

systemctl stop firewalld.service

然后重复上面的三个步骤就行了。

4、查看详细

mongoTest:OTHER> rs.status()
{
        "set" : "mongoTest",
        "date" : ISODate("2018-09-06T01:39:10.349Z"),
        "myState" : 1,
        "term" : NumberLong(1),
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1536197949, 1),
                        "t" : NumberLong(1)
                },
                "appliedOpTime" : {
                        "ts" : Timestamp(1536197949, 1),
                        "t" : NumberLong(1)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1536197949, 1),
                        "t" : NumberLong(1)
                }
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.0.139:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 674,
                        "optime" : {
                                "ts" : Timestamp(1536197949, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2018-09-06T01:39:09Z"),
                        "infoMessage" : "could not find member to sync from",
                        "electionTime" : Timestamp(1536197878, 1),
                        "electionDate" : ISODate("2018-09-06T01:37:58Z"),
                        "configVersion" : 1,
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "192.168.0.178:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 82,
                        "optime" : {
                                "ts" : Timestamp(1536197939, 1),
                                "t" : NumberLong(1)

若显示上列信息则说明集群搭建成功

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值