第2章 Keepalived安装
1.安装依赖包
yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel
2.安装主服务
yum install -y keepalived
主:
1.Master 上keepalived的配置文件(切记关闭selinux和)
! Configuration File for keepalived
#vrrp_script chk_http_port {
# script"/etc/keepalived/scripts/check_haproxy.sh"
# interval 2
# weight 2
#}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
192.168.15.201/24 dev ens33 scope global
#注意最初设置其他网段是没法访问的.设置成15网段(跟宿主机同网段才可以访问.)
}
2.Backup上keepalived的配置文件
从:
! Configuration File for keepalived
#vrrp_script chk_http_port {
# script"/etc/keepalived/scripts/check_haproxy.sh"
# interval 2
# weight 2
#}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
192.168.15.201/24 dev ens33 scope global
}
mkdir -p /usr/local/keepalived/var/log/
mkdir /etc/keepalived/scripts/
3.这里暂时不启动keepalived后续使用supervisor进行启动程序管理
你以为结束了?其实并没有!!使用keepalived只能保证机器死了服务和ip会进行切换.如果机器不死.keepalived不死的话并不会进行切换
所以我觉得应该每台机器再加上supervisor进行进程管理.
安装,推荐方法
$ sudo su - #切换为root用户
yum install epel-release -y
yum install -y supervisor
systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务
systemctl status supervisord # 查看supervisord服务状态
ps -ef|grep supervisord # 查看是否存在supervisord进程
4.添加配置文件(默认配置文件基本不需要动)
基本配置文件()
vim /etc/supervisord.conf
1.配置文件中开启web管理界面.
[inet_http_server] ; inet (TCP) server disabled by default
port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=user-admin ; (default is no password (open server))
2.末尾配置文件目录指定开启
[include]
files = /etc/supervisord.d/*.ini
5.添加服务管理配置文件.在/etc/supervisord.d/添加文件名称为.ini结尾的文件
在添加配置文件的时候一般情况下要指定一个日志目录.这个目录如果不存在的话会报错
[root@mycat /etc/supervisord.d]$ cat mycat.ini
[program:mycat] #指定服务名称必不可少
command=/usr/local/mycat/bin/mycat console #指定服务启动方式(这里是必须用前台启动)
stdout_logfile=/usr/local/mycat/superlog/superlog.log #指定日志输出位置
autostart=true #在supervisord启动的时候服务也自动启动
autorestart=true #程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startsecs=5 #启动5秒后没有异常退出,就表示进程正常启动了,默认为1秒
startretries=3 #启动失败自动重试次数,默认是3
priority=999 #进程启动优先级,默认999,值小的优先启动,最小是1
stopasgroup=true #默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true #;默认为false,向进程组发送kill信号,包括子进程
6.重新启动supervisord 并指定加载配置文件
/usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf
命令
supervisorctl 进入交互命令行
使用help 帮助
supervisorctl shutdown #关闭
supervisorctl reload #重启,内部服务也会一起重启
supervisorctl update #添加删除 更新配置文件爱你操作
###启动服务
supervisorctl start all
supervisorctl start service_name
###关闭服务
supervisorctl stop all
supervisorctl stop service_name
###查看状态
supervisorctl status [service_name]
###重新启动所有服务或者是某个服务
supervisorctl restart all
supervisorctl restart service_name
浙公网安备 33010602011771号