下载地址:https://www.mongodb.com/download-center/community
官方文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

1.集群配置

配置mongodb源:
vim /etc/yum.repos.d/mongodb.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=0

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2.安装:

yum -y install mongodb-org*
当有更新的版本可用时,请升级软件包。为防止意外升级,请将包装固定。要固定包,请将以下exclude指令添加到您的/etc/yum.conf文件中:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

源码安装方式:
tar包下载安装:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
创建mongo数据目录:mkdir -p /data/db
运行mongo:进入mongo安装目录:/usr/local/mongo/bin/
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
echo "never" > /sys/kernel/mm/transparent_hugepage/enable
执行:./mongod --dbpath=/data/db/ &
关闭此终端在新开终端可看到27017端口已开启:
安装netstat:yum -y install net-tools
开启端口访问:firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
将/etc/mongod.conf中的ip改为0.0.0.0,默认是所有都不可达
replication开启副本集复制选项,oplog是从节点根据oplog去判断上一次复制数据的结束点,以复制数据保证数据一致;
所有副本集的名称要一致:
注意:从服务器一定要没有任何数据的新数据库
进入主数据库设置复制集配置,并进行复制集初始化
use admin
cfg={_id:"test",members:
[{_id:0,host:"10.18.42.71:27017",priority:2},
{_id:1,host:"10.18.42.81:27017",priority:1},
{_id:2,host:"10.18.42.91:27017",arbiterOnly:true}]}
rs.initiate(cfg)
如果提示OK,说明副本集创建成功
rs.status() 通过命令可以查看副本集状态
如果secondery节点无法查看数据,可以在从节点执行rs.slaveOk();

3.主节点降为secondary

mongo>use admin
mongo>rs.stepDown(60) #单位为 秒,也可不写