Skip to main content

HA Proxy's Configuration For Mysql Load Balancing and Fail Over

Today Due to one of my Client Requirement i supposed to install and configure a High Availability, Proxying, Application Load Balancer for Mysql ,in the current scenario we are having two Mysql server(Both were running As Multi-Master Replication nodes) and we needed all the traffic coming from Applications should be load balance to both the Mysql server and there should be Fail-over Facility too. To achieve the goal i used an Opensource tool named HA proxy and after using it all goals seems to be achived now .

So i m sharing the steps pls go though below .

What basically HA Proxy is ??

HAProxy is an opensource free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites,databases and Application crawling under very high loads.

Steps of Installation And configuration :-

root@linuz-akhil:~# wget -c http://haproxy.1wt.eu/download/1.2/src/haproxy-1.2.17.tar.gz

root@linuz-akhil:~# tar -zxf haproxy-1.2.17.tar.gz

root@linuz-akhil:~# cd haproxy-1.2.17

root@linuz-akhil:~# make

root@linuz-akhil:~# cp haproxy /usr/sbin/haproxy

root@linuz-akhil:~# wget -c http://layer1.rack911.com/haproxy/haproxy.init -O /etc/init.d/haproxy ## Download its script file

Create a HA Proxy config file using vim  /etc/haproxy.cfg and add below setting .

root@linuz-akhil:~# vim /etc/haproxy.cfg

###

Changes Done by tuxamit

global

maxconn     4096 # Total Max Connections. This is dependent on ulimit

daemon

nbproc      4 # Number of processing cores.

defaults

mode     http

clitimeout  60000

srvtimeout  30000

contimeout  4000

option      httpclose # Disable Keepalive

##Ip and port in which HA proxy will bind, All the Mysql traffic will be hooked to below ip and port and then HA proxy will share the traffic in round robin algo to given Mysql Servers ####

listen Mysql_proxy 10.x.x.74:3306 ##

mode tcp

balance roundrobin

###### Add you Mysql Server below ##

 server Mysql_db1 10.x.x.72:3306 check

 server Mysql_db2 10.x.x.73:3306 check

######Config Completed

root@linuz-akhil:~# service haproxy start ; chkconfig --add haproxy ; chkconfig haproxy on

All Done! Load Balancing and fail-over though HA Proxy on host 10.x.x.74 is now working fine for Mysql service listening on 3306 port at hosts 10.x.x.72 and 10.x.x.73.

Comments

Popular posts from this blog

Troubleshooting Tomcat using Catalina log

Troubleshooting Tomcat using Catalina log We can get the  catalina  logs in  $CATALINA_HOME/logs Here we'll have a  catalina.out We can see some huge info in that log file. If we want to what exactly happens since the start of tomcat then we need to log that into a new file. By default we have log rotation enabled on this logs. For now let us stop tomcat and nullify the catalina.out file and then start tomcat to have some new info in the catalina.out # service tomcat stop # cd $CATALINA_HOME/logs # :> catalina.out (or) cat /dev/null > catalina.out # ll catalina.out -rw-r----- 1 root root 0 Feb 18 16:19 catalina.out # service tomcat start # ll catalina.out -rw-r----- 1 root root 17341 Feb 18 16:21 catalina.out We can see the log being written after the start of tomcat. Now we can notice the instance giving some information about the starting of tomcat, about the configuration for the startup, path of the servlet instance for which the log is re...

RHVH 4.1 Installation Steps for Red Hat Virtualization Host

Red Hat Virtualization Host (RHVH 4.1) is installed using a special build ( Download Link )of Red Hat Enterprise Linux with only the packages required to host virtual machines. It uses an Anaconda installation interface based on the one used by Red Hat Enterprise Linux hosts, and can be updated through the Red Hat Virtualization Manager or via yum. Using the yum command is the only way to install additional packages and have them persist after an upgrade. In this article we are going to see RHVH 4.1 installation RHVH features a Web interface for monitoring the host’s resources and performing administrative tasks. Direct access to RHVH via SSH or console is not supported, so the Cockpit user interface provides a graphical user interface for tasks that are performed before the host is added to the Red Hat Virtualization Manager, such as configuring networking and deploying a self-hosted engine, and can also be used to run terminal commands via the  Tools > Terminal. Access t...

Managing tomcat application

Tomcat is a servlet application which is ready to use after download. There is no need of installing this application. We can directly start or stop it from the bin directory.  So in such case we should go to the bin directory in the CATALINA_HOME or else we need to use the startup script along with its absolute path. And the same is needed to shut it down. We can use the below script to manage the tomcat application and we neither need to go to the CATALINA_HOME nor to use the absolute path. All we need to do is to change the permissions to make it executable and copy that to /sbin and /etc/init.d/ directories. If we copy this into /etc/init.d/ then also we need to mention the absolute path but we can easily memorize it as we know all the startup scripts exists there. But if we copy that into /sbin then there is absolutely no need of mentioning the path of the file. We can use this like below: # tomcat start|stop|restart|status #!/bin/bash # Author : Arjun S...