patternsqlMinor
Setting up MySQL Cluster on Two Systems
Viewed 0 times
systemssettingtwomysqlcluster
Problem
I am attempting to setup a MySQL Cluster.
I have the folllowing setup
Below is the config.ini file:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
DataDir=/var/lib/mysql-cluster
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
LogDestination=FILE:filename=my-cluster.log
[tcp default]
[ndb_mgmd]
# Management process options:
hostname=X.X.X.26 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node log files
# Storage Nodes
[NDBD]
hostname=X.X.X.26 # IP address of storage-node-1
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=X.X.X.73 # IP address of storage-node-2
DataDir= /var/lib/mysql-cluster
[NDBD]
hostname=X.X.X.26 # IP address of storage-node-3
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=X.X.X.73 # IP address of storage-node-4
DataDir= /var/lib/mysql-cluster
# Setup node IDs for mySQL API-servers (clients of the cluster)
[mysqld]
# SQL node options:
hostname=X.X.X.73 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
Below is the
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=X.X.X.26 # location of management server
[mysql_cluster]
ndb-connectstring=X.X.X.26 # location of management server
When
I have the folllowing setup
- one management node
- two data nodes
- another machine on which two more nodes reside
Below is the config.ini file:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
DataDir=/var/lib/mysql-cluster
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
LogDestination=FILE:filename=my-cluster.log
[tcp default]
[ndb_mgmd]
# Management process options:
hostname=X.X.X.26 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node log files
# Storage Nodes
[NDBD]
hostname=X.X.X.26 # IP address of storage-node-1
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=X.X.X.73 # IP address of storage-node-2
DataDir= /var/lib/mysql-cluster
[NDBD]
hostname=X.X.X.26 # IP address of storage-node-3
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=X.X.X.73 # IP address of storage-node-4
DataDir= /var/lib/mysql-cluster
# Setup node IDs for mySQL API-servers (clients of the cluster)
[mysqld]
# SQL node options:
hostname=X.X.X.73 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
Below is the
my.cnf file for both systems:[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=X.X.X.26 # location of management server
[mysql_cluster]
ndb-connectstring=X.X.X.26 # location of management server
When
Solution
Your management configuration seems fine to me. It sounds like ndb_mgmd didn't quite die or there is a problem with the contents in the /var/lib/mysql-cluster directory on the management server.
You might also want to make sure that ndb_mgmd isn't starting automatically, like through some startup script in /etc/init.d/.
To try and resolve the issue, I'd start with these steps first.
Since you are just getting started and don't have any real data yet.
-
Verify that ndb_mgmd is listening with netstat
$> netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 3251/ndb_mgmd
Connect to management node
Update
Here is a Quick Start guide from Oracle with all nodes, management, mysql and data running on one server.
http://downloads.mysql.com/tutorials/cluster/GetMySQLClusterRunning-LINUX.pdf
You might also want to make sure that ndb_mgmd isn't starting automatically, like through some startup script in /etc/init.d/.
To try and resolve the issue, I'd start with these steps first.
Since you are just getting started and don't have any real data yet.
- Kill any left over ndb_mgmd processes with:
killall ndb_mgmdor by rebooting if killall doesn't help.
- Completely delete everything within /var/lib/mysql-cluster:
rm -Rf /var/lib/mysql-cluster/*
- Start the cluster process again:
ndb_mgmd -f /etc/config.ini --initial
-
Verify that ndb_mgmd is listening with netstat
$> netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 3251/ndb_mgmd
Connect to management node
%%CODEBLOCK_0%%gt; ndb_mgm
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.9.26 (mysql-5.1.61 ndb-7.1.22)Update
Here is a Quick Start guide from Oracle with all nodes, management, mysql and data running on one server.
http://downloads.mysql.com/tutorials/cluster/GetMySQLClusterRunning-LINUX.pdf
Code Snippets
$> ndb_mgm
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.9.26 (mysql-5.1.61 ndb-7.1.22)Context
StackExchange Database Administrators Q#23881, answer score: 2
Revisions (0)
No revisions yet.