MongoDB集群安装
两台服务器分别为:192.168.254.129,192.168.254.130,192.168.254.131
1、分别在三台服务器上关闭防火墙,禁用SELinux
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.servicex
[root@localhost ~]# vi /etc/selinux/config
SELINUX=disabled
2、分别在三台服务器上安装MongoDB
创建一个/etc/yum.repos.d/mongodb-org-3.6.repo文件,以便您可以直接使用安装MongoDB yum
以下操作分别在三台服务器上执行
[root@localhost ~]# vim /etc/yum.repos.d/mongodb-org-3.6.repo
[ngodb-org-3.6]
name = MongoDB Repository
baseurl = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck = 1
enabled = 1
gpgkey = https://www.mongodb.org/static/pgp/server-3.6.asc
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# yum install -y mongodb-org
修改配置文件,使之能在外网访问mongodb服务,默认只能在本地访问服务,修改完配置就可以启动服务
[root@localhost ~]# vim /etc/mongod.conf
bindIp: 0.0.0.0
[root@localhost ~]#
[root@localhost ~]# systemctl start mongod.service
3、集群配置
分别在三台服务器上增加集群配置参数,在mongod.conf配置文件中打开replication注释,在其下面新增一行,添加replSetName参数,这里取名为rs0
[root@localhost ~]# vim /etc/mongod.conf
replication:
replSetName: "rs0"
[root@localhost ~]# systemctl restart mongod.service
3.1、节点配置
选定一台作为主机,这里选定的是192.168.254.129为主机,在192.168.254.129这台主机上,进入mongo命令行,执行节点配置
[root@localhost ~]# mongo
mongo>rs.initiate({_id:"rs0",members:[{_id:0,host:"192.168.254.129:27017"},{_id:1,host:"192.168.254.130:27017"},{_id:2,host:"192.168.254.131:27017"}]})
配置成功以后,再次进入mongo,用rs.conf()可以查看集群状态
“`shell
rs0:SECONDARY> rs.conf()
{
“_id” : “rs0”,
“version” : 1,
“protocolVersion” : NumberLong(1),
“members” : [
{
“_id” : 0,
“主持人”: “192.168.254.129:27017”, “arbiterOnly”:假的, “buildIndexes”:真实的, “隐藏”:假的, “优先”:1, “ 标签”:{ }, “slaveDelay”:NumberLong(0 ), “ 票”:1 }, { “_id”:1, “ 主机”: “192.168.254.130:27017”, “arbiterOnly”:假的, “buildIndexes”:真实的, “隐藏”:假的, “优先”: 1, “tags”:{ }, “slaveDelay”:NumberLong(0), “票数”:1 }, { “_id”:2, “ 主持人”: “192.168.254.131:27017”, “arbiterOnly”:假的, “buildIndexes”:真实,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5ab0beb0c8ffd87d25808ef4")
}
}
rs0:PRIMARY>