4vcpu/16g/系统盘_500G 3台(mongodb4.2)  
10.3.128.26/10.3.128.27/10.3.128.28
mkdir -p /data/mongo/db
mkdir -p /etc/mongo
groupadd mongod
useradd -g mongod mongod
tar zxvf mongodb-linux-x86_64-rhel70-4.2.14.tgz  -C /usr/local/
ln -s  /usr/local/mongodb-linux-x86_64-rhel70-4.2.14   /usr/local/mongodb
chown -R mongodb:mongodb /usr/local/mongodb
chown -R mongodb:mongodb /data/mongo
 
# 添加文件打开数和mongod用户进程连接数
cat >> /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
mongod soft nproc 32768
mongod hard nproc 32768
EOF
# 禁用Transparent Huge Pages
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
cat >> /etc/rc.local << EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled;then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod +x /etc/rc.d/rc.local
cat > /etc/mongo/mongodb.key  << EOF 
5heBYl8onlA1pbkH5AWjgGmFDvB4QagyOc5R9q18cU6vuCm14L/31JlmqsdRY95I
Es8ZXRuVsJuae51RHR+Y3lsc4udWk6zVIOtTDgcREm5lHzDyJGZERFqdjLQMAGzd
T6gXNg==
EOF
 
cat >  /etc/mongo/mongo.cnf  << EOF 
port=20001
fork=true
journal=true
maxConns=20000
logappend=true
bind_ip=0.0.0.0
dbpath=/data/mongo
logpath=/data/mongo/mongo.log
unixSocketPrefix=/tmp
pidfilepath = /tmp/mongod.pid
timeZoneInfo=/usr/share/zoneinfo
keyFile=/etc/mongo/mongodb.key
#auth=true
oplogSize=10240
directoryperdb=true
storageEngine=wiredTiger
wiredTigerCacheSizeGB = 16
wiredTigerStatisticsLogDelaySecs = 0
wiredTigerJournalCompressor = snappy
wiredTigerDirectoryForIndexes = true
wiredTigerCollectionBlockCompressor = snappy
wiredTigerIndexPrefixCompression = 1
replSet=uat_mongo
EOF
# 修改用户组权限
chown mongod:mongod /etc/mongo -R 
chmod 600 /etc/mongo/mongodb.key
启动mongo程序
# /usr/local/mongodb/bin/mongod --config /etc/mongo/mongo.cnf
添加mongodb命令到环境变量
echo "export PATH=\$PATH:/usr/local/mongodb/bin">>/etc/profile 
source /etc/profile
 
# 登录 mongo
mongo --host 127.0.0.1 --port 20001 admin
添加超级管理员账号
> use admin;
> db.createUser({user:"root",pwd:"Taimei198",roles:[{role:"root",db:"admin"}]})
把配置文件 #auth 注释去掉,重启mongodb
/usr/local/mongodb/bin/mongod --config /etc/mongo/mongo.cnf --shutdown 
 
 
# 登录mongodb,进行密码认证
db.auth('root','Taimei198')
# 初始化复制集
config = {"_id":"uat_mongo",
          "members":[
          {"_id":0,host:"10.3.128.26:20001"},
          {"_id":1,host:"10.3.128.27:20001"},
          {"_id":2,host:"10.3.128.28:20001"}
          ]
}
rs.initiate(config)
# 查看复制集状态
rs.status()
# 使用systemctl 来管理 mongod 
 
cat >  /etc/systemd/system/mongodb.service  << EOF 
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /etc/mongo/mongo.cnf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /etc/mongo/mongo.cnf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
#添加可执行权限:
chmod 755 /etc/systemd/system/mongodb.service
#重载 systemctl units
systemctl daemon-reload
#设置为开机自启动
systemctl enable mongodb.service