keepalived:
	LB:lvs,nginx
	HA:keepalived,heartbeat,corosync,cman
	HP:高性能集群
		
	分布式存储:HDFS
	分布式计算:YARN,
		batch:MapReduce	
		in-memory:spark
		stream:storm
	

keepalived:
	active/passive


ntp:network time protocol
date修改时间方法:
	date:月日时分年.秒	
	date 102411262017.50

	
vrrp:virtual route redundent protocol 虚拟路由冗余协议
	
keepalived:
	vrrp协议在linux主机上以守护进程的方式实现;
	能够根据配置文件自动生成ipvs规则;
	对各RS做健康状态检测;	
	
	组件:vrrp stack
		  checkers
		  ipvs warpper -->ipvs
	配置文件的组成部分;
		global configuration 
		vrrpd configuration
			vrrp instance
			vrrp synchonizationg group
		lvs configuration	
	
	1.本机的主机名,各节点可以解析主机名
	2.ntp时间同步  
	3.iptables关闭或者配置相应规则	
	
	双主配置。两组实例
	主1
	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 192.168.200.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state MASTER
		interface eth1
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	vrrp_instance VI_2 {
		state BACKUP
		interface eth1
		virtual_router_id 61
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.99
		}
	}
	
	
	主2
	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 192.168.200.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state backup
		interface eth0
		virtual_router_id 51
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			172.16.6.88
		}
	}


	vrrp_instance VI_2 {
		state master
		interface eth0
		virtual_router_id 61
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			172.16.6.99
		}
	}

	
	
	
	keepalived+LVS负载均衡配置
	主配置:
	! Configuration File for keepalived

	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state MASTER
		interface eth0
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	virtual_server 172.16.6.88 80 {
			delay_loop 6          #健康检查时间间隔
			lb_algo wrr               #负载均衡调度算法
			lb_kind DR            #负载均衡转发规则
			#persistence_timeout 20  #设置会话保持时间
			protocol TCP                #协议

			real_server 172.16.6.12 80 {
			weight 1                #设置权重
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
			real_server 172.16.6.13 80 {
			weight 2
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
	}
	
	备配置:
	! Configuration File for keepalived

	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state BACKUP
		interface eth0
		virtual_router_id 51
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	virtual_server 172.16.6.88 80 {
			delay_loop 6          #健康检查时间间隔
			lb_algo wrr               #负载均衡调度算法
			lb_kind DR            #负载均衡转发规则
			#persistence_timeout 20  #设置会话保持时间
			protocol TCP                #协议

			real_server 172.16.6.12 80 {
			weight 1                #设置权重
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
			real_server 172.16.6.13 80 {
			weight 2
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
	}
	
	
	vim rs.sh
	#!/bin/bash
	# description: Config realserver lo and apply noarp
	 
	VIP=172.16.6.88
 
	case "$1" in
	start)
		   ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
		   /sbin/route add -host $VIP dev lo:0
		   echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
		   echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
		   echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
		   echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
		   sysctl -p >/dev/null 2>&1
		   echo "RealServer Start OK"
	 
		   ;;
	stop)
		   ifconfig lo:0 down
		   route del $VIP >/dev/null 2>&1
		   echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
		   echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
		   echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
		   echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
		   echo "RealServer Stoped"
		   ;;
	*)
		   echo "Usage: $0 {start|stop}"
		   exit 1
	esac
	 
	exit 0
	
	chmod +x rs.sh
	./rs.sh start
	启动服务
	rs服务:service httpd start
	keepalived服务器: service keepalived restart; ssh 172.16.6.15 'service keepalived restart'
	
	
	
	
	
keepalived+nginx配置
	主:
	! Configuration File for keepalived

	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}
	#检查nginx进程是否存在。
	vrrp_script chk_nginx {
			script "killall -0 nginx &> /dev/null"
			interval 1
			weight -10
	}
	vrrp_instance VI_1 {
		state MASTER
		interface eth0
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
			track_script {
			chk_nginx
			}
	}


	备:
	! Configuration File for keepalived

	global_defs {
	   notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	   }
	   notification_email_from [email protected]
	   smtp_server 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}
#检查nginx进程是否存在。
	vrrp_script chk_nginx {
			script "killall -0 nginx &> /dev/null"
			interval 1
			weight -10
	}
	vrrp_instance VI_1 {
		state BACKUP
		interface eth0
		virtual_router_id 51
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}

	 track_script {
			chk_nginx
	}
	}