Mysql cluster NDB 7.4.11 disk data storage strange behavior
Hi,
I'm trying to evaluate MySQL cluster for one of or projects.
I'm running MySQL cluster version 7.4.11 on Centos 7 with 2 data nodes 1 mgmt node a 1 Sqlapp node.
Where I see a behavior that I did not expect, or at least no what I read in the MySql Cluster documentation.
I created a disk storage table with no primary key or indexes.
First I set the DataMemory and IndexMemory to 1M (as low as possible), but was not able to insert even 1 row into the table, I got the table full error.
The I changed these setting to 6G and 4G respectively.
Then I was able to insert rows into the table, but the memory usage kept increasing when data were inserted. See the memory usage command below.
I did not expect any that memory usage on the that data node.
All data should be stored on disk,
Can somebody please explain what is wrong?
Regards,
AA
------------------------------------------------------------------
ndb_mgm> ALL report memoryusage
Node 2: Data usage is 6%(12087 32K pages of total 196608)
Node 2: Index usage is 3%(17611 8K pages of total 524320)
Node 3: Data usage is 6%(12087 32K pages of total 196608)
Node 3: Index usage is 3%(17611 8K pages of total 524320)
CREATE TABLE `t_1` (
`Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`ID` int(11) NOT NULL,
`LP` int(11) NOT NULL,
`SL` int(11) NOT NULL,
`EL` int(11) NOT NULL,
`PT` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`PMs` int(11) NOT NULL,
`L` int(11) NOT NULL,
`S` int(11) NOT NULL
) /*!50100 TABLESPACE ts_1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 |
The config.ini file that I used looks like this
##########
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=6144M # How much memory to allocate for data storage
IndexMemory=4096M # 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.
[tcp default]
# TCP/IP options:
portnumber=2202 # This the default; however, you can use any
# port that is free for all the hosts in the cluster
# Note: It is recommended that you do not specify the port
# number at all and simply allow the default value to be used
# instead
[ndb_mgmd]
# Management process options:
hostname=192.168.0.67 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
hostname=192.168.0.136 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
MaxNoOfConcurrentOperations=1000000
[ndbd]
# Options for data node "B":
hostname=192.168.0.46 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
MaxNoOfConcurrentOperations=1000000
[mysqld]
# SQL node options:
hostname=192.168.0.58 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
[mysqld]
# SQL node options:
hostname=192.168.0.160 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
#########
The my.cnf file looks as follows:
#########
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for MySQL Cluster processes:
ndb-connectstring=192.186.0.67 # location of management server
#############