mongodb配置 192.11.11.11 为master节点
192.11.11.12 为仲裁节点
192.11.11.13 为备节点

1、下载tar包
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.2.tgz

2、解压
rm -rf /neworiental/mongodb
tar -zxvf /neworiental/tools/mongodb-linux-x86_64-4.0.2.tgz -C /neworiental/
mv /neworiental/mongodb-linux-x86_64-4.0.2 /neworiental/mongodb

3、建立目录文件夹
mkdir -p /neworiental/mongodb/data/master
mkdir -p /neworiental/mongodb/data/slaver
mkdir -p /neworiental/mongodb/data/arbiter
mkdir -p /neworiental/mongodb/log
mkdir -p /neworiental/mongodb/master
mkdir -p /neworiental/mongodb/slaver
mkdir -p /neworiental/mongodb/arbiter
mkdir /neworiental/mongodb/keyFile/

4、配置文件
addr=/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
cat < /neworiental/mongodb/master/master.conf
#master.conf
dbpath=/neworiental/mongodb/data/master
logpath=/neworiental/mongodb/log/master.log
pidfilepath=/neworiental/mongodb/master.pid
directoryperdb=true
logappend=true
replSet=preferential-mongo
bind_ip=$addr
port=27017
oplogSize=10000
fork=true
noprealloc=true
#auth=true
maxConns=200000
EOF

cat < /neworiental/mongodb/slaver/slaver.conf
#slaver.conf
dbpath=/neworiental/mongodb/data/slaver
logpath=/neworiental/mongodb/log/slaver.log
pidfilepath=/neworiental/mongodb/slaver.pid
directoryperdb=true
logappend=true
replSet=preferential-mongo
bind_ip=$addr
port=27017
oplogSize=10000
fork=true
noprealloc=true
#auth=true
maxConns=200000
EOF

cat < /neworiental/mongodb/arbiter/arbiter.conf
#arbiter.conf
dbpath=/neworiental/mongodb/data/arbiter
logpath=/neworiental/mongodb/log/arbiter.log
pidfilepath=/neworiental/mongodb/arbiter.pid
directoryperdb=true
logappend=true
replSet=preferential-mongo
bind_ip=$addr
port=27017
oplogSize=10000
fork=true
noprealloc=true
#auth=true
maxConns=200000
EOF

6、分别在master、slaver、arbiter运行相应命令,启动mongodb
/neworiental/mongodb/bin/mongod -f /neworiental/mongodb/master/master.conf #master
/neworiental/mongodb/bin/mongod -f /neworiental/mongodb/slaver/slaver.conf #slaver
/neworiental/mongodb/bin/mongod -f /neworiental/mongodb/arbiter/arbiter.conf #arbiter

7、配置主,备,仲裁节点
/neworiental/mongodb/bin/mongo 172.22.31.83:27017 #ip和port是某个节点的地址

use admin

cfg={ _id:"preferential-mongo", members:[
{_id:0,host:'192.11.11.11:27017',priority:2},
{_id:1,host:'192.11.11.13:27017',priority:1},
{_id:2,host:'192.11.11.12:27017',arbiterOnly:true}] };

rs.initiate(cfg) #使配置生效

#如果要添加节点

rs.add( { host: "ip:27017", priority: 0, votes: 0 }) # 添加节点

rs.status() #查看状态,是否生效

出现:"stateStr" : "RECOVERING" 表示 没有生效

#创建密码验证

use admin
db.createUser( { user:"preferential", pwd:"preferential",
roles:[{role:"readWriteAnyDatabase",db:"admin"},
{role:"dbAdminAnyDatabase",db:"admin"},
{role:"userAdminAnyDatabase",db:"admin"}] } ) #创建数据库密码