How To Set Up A Load-Balanced MySQL Cluster With MySQL 5.1 - Page 4
7 Start The Load Balancer And Do Some TestingNow we can start our two load balancers for the first time: mysql-lb1.example.com / mysql-lb2.example.com: /etc/init.d/ldirectord stop If you don't see errors, you should now reboot both load balancers.If you do see errors go to the end of this tutorial I might know whats the problem :) [Chapter 8] mysql-lb1.example.com / mysql-lb2.example.com: shutdown -r now After the reboot we can check if both load balancers work as expected : mysql-lb1.example.com / mysql-lb2.example.com: ip addr sh eth0 The active load balancer should list the virtual IP address (10.0.1.10):
The hot-standby should show this:
mysql-lb1.example.com / mysql-lb2.example.com: ldirectord ldirectord.cf status Output on the active load balancer:
Output on the hot-standby:
mysql-lb1.example.com / mysql-lb2.example.com: ipvsadm -L -n Output on the active load balancer:
Output on the hot-standby:
mysql-lb1.example.com / mysql-lb2.example.com: /etc/ha.d/resource.d/LVSSyncDaemonSwap master status Output on the active load balancer:
Output on the hot-standby:
If your tests went fine, you can now try to access the MySQL database from a totally different server in the same network (10.0.1.x) using the virtual IP address 10.0.1.10: mysql -h 10.0.1.10 -u ldirector -p (Please note: your MySQL client must at least be of version 4.1; older versions do not work with MySQL 5.) You can now switch off one of the MySQL cluster nodes for test purposes; you should then still be able to connect to the MySQL database.
8 Annotations and hintsErrors with ldirectord:/etc/init.d/ldirectord stop This error is due to formatting, it took me some time to figure it out. vi /etc/heartbeat/ldirectord.cf
And that should be it. There are some important things to keep in mind when running a MySQL cluster: 1.If you have your databases and you want to use them in MySQL cluster please read this as it will guide you through how to change ENGINE=MyISAM to NDBCLUSTER. 2. Adding user to mysql database and changing GRANTS must be done on all data nodes since mysql database is MyISAM/InoDB. You can of course convert it's engine. 3.All data is stored in RAM! as a default, but Therefore you need lots of RAM on your cluster nodes. The formula how much RAM you need on each node goes like this: (SizeofDatabase × NumberOfReplicas × 1.1 ) / NumberOfDataNodes So if you have a database that is 1 GB of size, you would need 1.1 GB RAM on each node! 4.The cluster management node listens on port 1186, and anyone can connect. So that's definitely not secure, and therefore you should run your cluster in an isolated private network! Since it would be harder to manage it may be a good idea to make changes to /etc/hosts.deny or prepare iptables based firewall. 5.It's a good idea to have a look at the MySQL Cluster FAQ: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-faq.html and also at the MySQL Cluster documentation: http://dev.mysql.com/doc/refman/5.1/en/ndbcluster.html
Links
|
Join the discussion.
www.seamlessenterprise.com
IP Convergence
Integrate your wireless and wireline networks.
Learn how from the experts at Sprint.
www.seamlessenterprise.com
Wireless & Wireline Integration
Thoughts, strategies and solutions: join the discussion
www.seamlessenterprise.com
Unified Communications 2009
Join the Discussion. Now.
www.seamlessenterprise.com
Red Hat Virtual Experience - a free virtual event. Dec. 9th





print: 
Recent comments
11 hours 29 min ago
17 hours 17 min ago
19 hours 9 min ago
20 hours 53 min ago
1 day 44 min ago
1 day 6 hours ago
1 day 6 hours ago
1 day 10 hours ago
1 day 16 hours ago
1 day 21 hours ago