List:Cluster« Previous MessageNext Message »
From:Andrew Morgan Date:February 28 2013 7:32am
Subject:RE: Three node mysql cluster setup issues
View as plain text  
Hi Ashutosh,

 Thanks for the extra information - responses in-line....

Regards, Andrew.

 
Andrew Morgan - MySQL High Availability Principal Product Manager
+44-7833483595
andrew.morgan@stripped
@andrewmorgan
www.clusterdb.com



> -----Original Message-----
> From: Ashutosh Narayan [mailto:aashutoshnarayan@stripped]
> Sent: 28 February 2013 06:40
> To: Andrew Morgan; cluster@stripped
> Subject: Re: Three node mysql cluster setup issues
> 
> Hi Andrew,
> 
> Please find config.ini and my.cnf configuration files below :
> 
> config.ini
> 
> [ndb_mgmd]
> hostname=192.168.105.40
> datadir=/devops/my_cluster/ndb_data
> NodeId=1
> 
> [ndbd default]
> noofreplicas=3
> datadir=/devops/my_cluster/ndb_data

[AM] So you're looking to have 3 data nodes within a node group; this isn't really
something that's tested/supported - I'm not aware of anyone running this in production.
What's the motivation for this? If you want extra redundancy then the usual approach is
to use MySQL replication between 2 Clusters (where each Cluster has 2 data nodes per node
group).

> [ndbd]
> hostname=192.168.105.40
> NodeId=3
> 
> [ndbd]
> hostname=192.168.105.40
> NodeId=4
 
[AM] You're trying to run 2 of the 3 data nodes on the same host and so if that host fails
then the Cluster would shut down. See
http://www.clusterdb.com/mysql-cluster/mysql-cluster-fault-tolerance-impact-of-deployment-decisions/
for why this will happen
So - the 3 replicas actually provide you with *less* fault tolerance in this case. The
same blog post will explain why you shouldn't run the ndb_mgmd on the same host as any of
the data nodes too.

> [ndbd]
> hostname=192.168.105.63
> datadir = /devops/mysql/data
> NodeId=11
> 
> [mysqld]
> NodeId=51
> hostname=192.168.105.63
> 
> [mysqld]
> NodeId=50
> 
> [mysqld]
> NodeId=52
> 
> my.cnf on second data node:
> 
> #[mysqld]
> #datadir=/devops/mysql/data
> #socket=/tmp/mysql.sock
> #user=mysql
> 
> # Disabling symbolic-links is recommended to prevent assorted security risks
> #symbolic-links=0
> 
> [mysqld_safe]
> log-error=/var/log/mysqld.log
> pid-file=/var/run/mysqld/mysqld.pid
> 
> [client]
> port = 1186

[AM] See next comment

> socket = /tmp/mysql.sock
> 
> [mysqld]
> datadir = /devops/mysql/data
> user = mysql
> port = 1186

[AM] 1186 is the default port number for the management node (and you haven't changed it)
and so you'd have a conflict here. In this context, "port" is the port that the mysqld
will expose for clients to connect to. The default is 3306.

> socket = /tmp/mysql.sock
> symbolic-links=0
> skip-locking
> ndbcluster  # run NDB storage engine
> ndb-connectstring=192.168.105.40  # management server IP
> 
> [mysql_cluster]
> ndb-connectstring=192.168.105.40
> 
> Yes, we did perform rolling restart.
> Our setup is something like this - We have two servers - One is configured as
> management node as on this runs two data nodes. Then we have a second
> server which we want to attach to management as a part of cluster.
> Do you mean that we should have three physical or virtual machines to carry
> out cluster setup ? 

[AM] Yes, if you want to avoid a single point of failure - see
http://www.clusterdb.com/mysql-cluster/mysql-cluster-fault-tolerance-impact-of-deployment-decisions/
for the explanation of why

Are the ports correct ?

[AM] No - see above

> 
> Thank you,
> --
> Ashutosh Narayan
> 
> http://ashutoshn.wordpress.com/
Thread
Three node mysql cluster setup issuesAshutosh Narayan27 Feb
  • RE: Three node mysql cluster setup issuesAndrew Morgan27 Feb
    • Re: Three node mysql cluster setup issuesAshutosh Narayan28 Feb
      • RE: Three node mysql cluster setup issuesAndrew Morgan28 Feb