ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

Install MariaDB Galera Cluster in Ubuntu

by  on 2 JULY 2013 · LEAVE A COMMENT

I am going to show you on how to install MariaDB Cluster (with Galera) in Ubuntu Precise (12.04) LTS 64bit. You need at least 3 hosts running together to form a reliable cluster.

Hosts list:

maria1 – 192.168.10.101
maria2 – 192.168.10.102
maria3 – 192.168.10.103

 

Prepare Hosts

In all hosts, this is my /etc/hosts definition:

192.168.10.101        maria1 maria1.mycluster.com 192.168.10.102        maria2 maria2.mycluster.com 192.168.10.103        maria3 maria3.mycluster.com

 

Install MariaDB Cluster

1. Install the GPG key required by apt:

$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 1BB943DB

2. Add the apt repository:

$ sudo add-apt-repository 'deb http://mirror.stshosting.co.uk/mariadb/repo/5.5/ubuntu precise main'

3. Get the latest repo:

$ sudo apt-get update

4. Install MariaDB Cluster and related packages:

$ sudo apt-get install -y galera  mariadb-galera-server-5.5 mariadb-client-5.5 libmariadbclient18 mariadb-client-core-5.5 rsync netcat-openbsd

** Make sure you put the same MySQL root password on all hosts

 

Install Percona Xtrabackup

1. We are going to use Xtrabackup to perform State Snapshot Transfer (SST). Install GPG key for Percona:

$ sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

2. Add the apt repository for Percona:

$ sudo add-apt-repository 'deb http://repo.percona.com/apt precise  main'

3. Update and install Percona Xtrabackup:

$ sudo apt-get update && sudo apt-get -y install percona-toolkit percona-xtrabackup

 

Configure MariaDB Cluster

1. Once the installation completed, you need to comment following lines in /etc/mysql/my.cnf:

#bind-address #default_storage_engine #query_cache_limit #query_cache_size

2. Add following lines for wsrep configuration options in /etc/mysql/my.cnf under [mysqld] directive:

binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 innodb_locks_unsafe_for_binlog=1 innodb_doublewrite=1

3. Add following lines into specific node under [mysqld] directive:

maria1:

# wsrep provider configuration wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_provider_options="gcache.size=256M; gcache.page_size=128M" wsrep_cluster_address=gcomm:// wsrep_cluster_name="MariaDB_Cluster" wsrep_node_address="maria1" wsrep_node_name="maria1" wsrep_sst_method=xtrabackup wsrep_sst_auth="root:MyR00tPasswd" wsrep_node_incoming_address=192.168.10.101 wsrep_sst_receive_address=192.168.10.101 wsrep_slave_threads=16

maria2:

# wsrep provider configuration wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_provider_options="gcache.size=256M; gcache.page_size=128M" wsrep_cluster_address=gcomm://maria1 wsrep_cluster_name="MariaDB_Cluster" wsrep_node_address="maria2" wsrep_node_name="maria2" wsrep_sst_method=xtrabackup wsrep_sst_auth="root:MyR00tPasswd" wsrep_node_incoming_address=192.168.10.102 wsrep_sst_receive_address=192.168.10.102 wsrep_slave_threads=16

maria3:

# wsrep provider configuration wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_provider_options="gcache.size=256M; gcache.page_size=128M" wsrep_cluster_address=gcomm://maria1 wsrep_cluster_name="MariaDB_Cluster" wsrep_node_address="maria3" wsrep_node_name="maria3" wsrep_sst_method=xtrabackup wsrep_sst_auth="root:MyR00tPasswd" wsrep_node_incoming_address=192.168.10.103 wsrep_sst_receive_address=192.168.10.103 wsrep_slave_threads=16

 

Initialize the Cluster

1. Login to maria1 to initialize the cluster by restarting the service:

$ sudo service mysql restart

2. Login to maria2 and maria3 and restart MySQL. This will allow maria2 and maria3 to perform SST from maria1:

$ sudo service mysql restart

3. Login to MariaDB console and check for following values:

MariaDB [(none)]> show status like 'wsrep_%';

And you should see following output:

| wsrep_local_state | 4 | | wsrep_local_state_comment | Synced | | wsrep_incoming_addresses | 192.168.10.101:3306,192.168.10.102:3306,192.168.10.103:3306 | | wsrep_cluster_size | 3 | | wsrep_ready | ON |

You could now point your web server or application server to one of MariaDB cluster node to query.

 

posted on 2014-03-02 00:26 ivaneeo 阅读(405) 评论(0)  编辑  收藏 所属分类: tip

只有注册用户登录后才能发表评论。


网站导航: