linux 中 mongodb的安装与keepalive
安装mongodb : 有主机1:mongodb-18 主机2:mongodb-19
#下载安装包
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.6.tgz
#解压
tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz
mv mongodb-linux-x86_64-rhel70-4.0.6/ /usr/local/mongodb
#配置最大文件打开数量和用户数量
ulimit -n 65535
ulimit -u 65535
#查看一下
ulimit -n
ulimit -u
#创建需要的目录
[root@mongodb ~]# mkdir -p /data/mongodb1
[root@mongodb ~]# mkdir -p /data/logs/mongodb
[root@mongodb ~]# touch /data/logs/mongodb/mongodb1.log
[root@mongodb ~]# cd /usr/local/mongodb/
[root@mongodb mongodb]# ls
bin LICENSE-Community.txt MPL-2 README THIRD-PARTY-NOTICES
#创建mongodb配置文件
[root@mongodb mongodb]# mkdir conf
[root@mongodb mongodb]# vim conf/mongodb1.conf
port=27017
dbpath=/data/mongodb1
logpath=/data/logs/mongodb/mongodb1.log
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
#启动mongodb数据库:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
netstat -anpt |grep mongod
#查看一下端口是否打开
netstat -ntl
#开机自启动:
vim /etc/rc.local
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
#连接数据库:/usr/local/mongodb/bin/mongo
> show dbs
admin 0.078GB
config 0.078GB
local 0.078GB
> exit
#关闭服务:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf --shutdown
#两台主机一样的配置,用来实现keepalive
安装keepalive
yum install keepalived
配置keepalive:在mongodb-18 上的配置==============
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id m18 # 自身id,不要与小组其他成员重复
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 80 ##vrrp小组id
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.52.99
}
}
mongodb-19 上的配置: ==============
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id m19 # 自身id,不要与小组其他成员重复
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 80 ##vrrp小组id
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.52.99
}
}
联动脚本, 两台机器都编写此脚本并在后台 执行: ==============
[root@mongodb-18 /test]# vim keepalive.sh
#!/bin/bash
while [ 1 -lt 2 ]
do
sleep 3
m_port=`netstat -ntl | grep -E "(\<27017\>)" | wc -l`
m_ps=`ps axu | grep mongodb | grep -v "grep" | wc -l`
if [ $m_port -eq 1 ] && [ $m_ps -eq 1 ]
then
systemctl start keepalived
else
systemctl stop keepalived
fi
done
#两台主机一样的配置脚本
#赋权限,执行脚本在后台运行
[root@mongodb-18 /test]# chmod u+x keepalive.sh
[root@mongodb-18 /test]# nohup ./keepalive.sh &
#查看一下VIP在哪台主机上
ip a
#停止抢到VIP主机的mongodb服务,VIP自动漂移到另一台主机上则为成功。