CentOS7快速搭建MongoDB集群

1、服务器环境

centos7上mongodb 4.0.4集群
三台服务器IP分别是:172.30.255.100、172.30.255.101、172.30.255.102。

2、mongdb数据库的安装及配置

点击下载:mongodb-linux-x86_64-4.0.4.tgz,密码:mongo404

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

1、首先分别在三台机器上下载好mongodb安装包

不想下载上面云盘安装包的话,可运行wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz

2、使用tar命令解压安装包然后修改解压后的目录名,并移动到/usr/local/目录下

tar -zxvf mongodb-linux-x86_64-4.0.4.tgz
mv mongodb-linux-x86_64-4.0.4 mongodb
mv mongodb /usr/local/

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

cd mongodb
mkdir conf logs db

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

cd conf
touch mongodb.conf

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

其中dbpath是数据库文件目录,logpath是日志目录,port是mongodb所占用的端口,fork是true的时候表示在后台启动,bind_ip=0.0.0.0表示允许任意机器连接。

编辑mongodb.conf:
vi mongodb.conf

将如下配置写入文件:

1
2
3
4
5
dbpath=/root/mongodb/db
logpath=/root/mongodb/logs/mongodb.log
port=27017
fork=true
bind_ip=0.0.0.0
6、分别在三台机器上启动mongodb

其中–replSet表示副本集群参数 ,mongoTest是副本集名称,这里的名字可以任意取,另外两台机也要和这个一样
【注意】:如果mongodb.conf文件中未配置bind_ip=0.0.0.0,下面语句后面需要加上--bind_ip=本机ip这句。

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --replSet mongo-cluster

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

1
2
3
about to fork child process, waiting until server is ready for connections.
forked process: 15398
child process started successfully, parent exiting
3、配置mongodb副本集

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

1、进入任意其中一台机器的mongo shell操作 ,host为本机ip

./usr/local/mongodb/bin/mongo --host 172.30.255.100 --port 27017

2、 使用admin库

use admin

3、mongo副本配置(依次执行)
1
config={_id:"mongo-cluster",members:[{_id:0,host:"172.30.255.100:27017"},{_id:1,host:"172.30.255.101:27017"},{_id:2,host:"172.30.255.102:27017"}]}

rs.initiate(config)

返回体中状态码{“ok”:1}表示成功。

如果运行出错并且错误码是code 74 ,请关掉防火墙再试,如果还不行请注意bind_ip是否配置以及进入mongo shell时是否加上了--host 172.30.255.100

4、查看集群详细情况

rs.status()